PostMan에서 특정 CURL 시뮬레이션


154

Postman을 사용하여 API 서버에 대한 일부 Curl 요청을 테스트하고 있습니다. API 개발자가 curl 명령을 제공했지만 Postman에서 보낼 수 없습니다. 우편 배달부로부터 그러한 요청을하는 방법?

curl -X POST "https://api-server.com/API/index.php/member/signin" -d "{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"email@example.com","pseudo":"example"}"

--0xKhTmLbOuNdArY
Content-Disposition: form-data; name="userfile"; filename="profil.jpg"
Content-Type: image/jpeg
Content-Transfer-Encoding: binary

<ffd8ffe0 00104a46 49460001 01010048 ... a00fffd9>

—0xKhTmLbOuNdArY—

답변:


423

더 간단한 접근법은 다음과 같습니다.

  1. POSTMAN 열기
  2. 왼쪽 상단에서 "가져 오기"탭을 클릭하십시오.
  3. 원시 텍스트 옵션을 선택하고 cURL 명령을 붙여 넣으십시오.
  4. 가져 오기를 누르면 우편 배달부 빌더에 명령이 표시됩니다!
  5. 보내기를 클릭하여 명령을 게시하십시오.

도움이 되었기를 바랍니다!


4
이 게시물을 볼 때까지 당신이 이것을 할 수 있다는 것을 결코 알지 못했습니다. 감사!
austinthedeveloper

3
이것이 바로 내가 원하는 것입니다. 감사!
Joshua Dance

3
나는 그것을 시도했고 그것은 부분적으로 일했다. 이것은 내 컬 요청입니다 : curl -v -H "Accept: application/json" -H "Content-type: application/json" -X POST -d ' {"customer_id":"812122", "event":"add_to_cart", "email": "abc@def.com", }' -u 9f4d7f5445e7: https://api.myapp.com/api/event 본문을 가져 오기 한 후 올바르게 가져 오면 헤더와 URL도 가져 왔습니다. -u 9f4d7f5445e7: https://api.myapp.com/api/v1/eventcurl 요청에 있는 api 키 9f4d7f5445e7 만 가져 오지 않았거나 Postman이 건너 뛰었을 수 있습니다. 어떻게 해결할 수 있습니까?
리토

1
curl cmd를 내 자신으로 가져 오는 것으로 알았습니다. 그러나 언젠가 가져온 컬이있는 페이지가 어디에 있는지 알아 내기 위해 파일 / cmd를 가져올 때 아무 일도 일어나지 않는 것처럼 보입니다. 그런 다음 오른쪽 상단 (저장 버튼 아래)에있는 "코드"버튼을 클릭해야합니다. 그런 다음 컬이로드되었는지 여부를 볼 수 있습니다.
zhihong

이 접근법은 내가 코딩 한 자격 증명을 사용하지 않았으므로 마우스 및 드롭 다운을 사용하는 실제 요청 내부에 인증> 기본 인증을 사용하여 수동으로 자격 증명을 추가해야했습니다. 소프트웨어의 동작이 소프트웨어를 통해이를 받아들이고 활용 한 것처럼 보이기 때문에 "필요한 자격 증명을 제공하십시오"라기보다는 "유효한 자격 증명을 제공하십시오"라는 것만 생각하면됩니다.
olisteadman

12
In addition to the answer
1. Open POSTMAN
2. Click on "import" tab on the upper left side.
3. Select the Raw Text option and paste your cURL command.
4. Hit import and you will have the command in your Postman builder!
5. If -u admin:admin are not imported, just go to the Authorization 
   tab, select Basic Auth -> enter the user name eg admin and password eg admin.
This will automatically generate Authorization header based on Base64 encoder

5

1) https://api-server.com/API/index.php/member/signinURL 입력 상자에 넣고 POST드롭 다운에서 선택하십시오

2) 헤더 탭에서 다음을 입력하십시오.

내용 유형 : 이미지 / jpeg

콘텐츠 전송 인코딩 : 이진

3) 본문 탭에서 단일 선택 raw단추를 선택 하고 다음을 작성하십시오.

{"description":"","phone":"","lastname":"","app_version":"2.6.2","firstname":"","password":"my_pass","city":"","apikey":"213","lang":"fr","platform":"1","email":"email@example.com","pseudo":"example"}

form-data라디오 버튼을 선택 하고 다음을 작성하십시오.

키 = 이름 값 = userfile Text 키 선택 = 파일 이름 Fileprofil.jpg를 선택 하고 업로드하십시오


5

Onkaar Singh이 언급 한 접근법을 시도했습니다.

  1. POSTMAN 열기
  2. 왼쪽 상단에서 "가져 오기"탭을 클릭하십시오.
  3. 원시 텍스트 옵션을 선택하고 cURL 명령을 붙여 넣으십시오.
  4. 가져 오기를 누르면 우편 배달부 빌더에 명령이 표시됩니다!

그러나 문제는 승인이 필요한 Apis에서 작동하지 않는다는 것입니다.

이것은 내 컬 요청이었습니다.

curl -v -H "Accept: application/json" -H "Content-type:
application/json" -X POST -d ' 
{"customer_id":"812122", "event":"add_to_cart", "email": "abc@def.com", }' 
-u 9f4d7f5445e7: https://api.myapp.com/api/event

본문을 올바르게 가져온 후에는 헤더와 URL도 가져 왔습니다. api 키 9f4d7f5445e7 만

-u 9f4d7f5445e7: https://api.myapp.com/api/v1/event 

curl 요청에서 가져 오지 못했습니다.

내가 해결 한 방법은 -u가 기본적으로 인증에 사용됩니다. 따라서 Postman에서 사용하는 동안 API 키 ( 9f4d7f5445e7이 경우) 를 가져와 Base64 Encode를 수행해야합니다. 인코딩되면 값을 반환합니다 OWY0ZDdmNTQ0NWU3. 그런 다음 새 헤더를 추가하면 키 이름은 Authorization키 값이됩니다 Basic OWY0ZDdmNTQ0NWU3. 그 변경을 한 후에 요청이 나를 위해 일했습니다.

사용 가능한 온라인 Base64 인코더가 있으며 http://www.url-encode-decode.com/base64-encode-decode/

도움이 되길 바랍니다 !!!


우편 배달부의 인증 탭에서 바로 기본 인증을 선택하고는 Base64로 헤더 생성
electricalbah

2

때로는 cURL을 복사 할 때마다 --compressed가 포함됩니다. 가져 오기-> 원시 텍스트 붙여 넣기-> 가져 오기를 클릭하는 동안 제거하십시오. cURL을 가져 오는 동안 우편 배달부에서 구문 오류가 발생하면 문제를 해결합니다.

일반적으로 사람들이 Charles와 같은 프록시 도구에서 cURL을 복사하면 발생합니다.


0

위의 여러 답변에서 언급했듯이 POSTMAN에서 cURL을 직접 가져올 수 있습니다. 그러나 URL이 승인 된 경우 (또는 어떤 이유로 작동하지 않는 경우) 우체부 본문에 모든 데이터 포인트를 JSON으로 수동으로 추가 할 수 있다고 제안합니다. cURL에서 API URL을 가져옵니다.

인증 부분의 경우 인증 키와 기본 64 인코딩 문자열을 값으로 추가하십시오.

예:

curl -u rzp_test_26ccbdbfe0e84b:69b2e24411e384f91213f22a \ https://api.razorpay.com/v1/orders -X POST \ --data "amount=50000" \ --data "currency=INR" \ --data "receipt=Receipt #20" \ --data "payment_capture=1" https://api.razorpay.com/v1/orders

{ "amount": "5000", "currency": "INR", "receipt": "Receipt #20", "payment_capture": "1" }

헤더 : Authorization:Basic cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS***U056V25J 여기서 "cnpwX3Rlc3RfWEk5QW5TU0N3RlhjZ0Y6dURjVThLZ3JiQVVnZ3JNS *** U056V25J"는 "rzp_test_26ccbdbfe0e84b : 69b2e24411e384f91213f22a"의 인코딩 된 형식입니다. '

작은 팁 : 인코딩의 경우 크롬 콘솔로 쉽게 이동하여 (오른쪽 클릭 => 검사) 다음을 입력하십시오 : btoa("string you want to encode")(또는 우편 배달 기본 승인 사용)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.