문제

누군가 USPS 배송 확인 API에 대한 경험이 있다면, 내가 얻을 수있는 통찰력에 정말 감사합니다 ...

PHP와 CURL을 사용하여 XML 요청을 DC API에 보냅니다. Curl을 통해 응답을 보낼 때 아무것도 얻지 못합니다. 오류 응답, XML 등이 없습니다. 브라우저를 통해 XML을 보낼 때 오류 응답이 발생합니다. 이는 적어도 응답입니다. 브라우저를 통해 얻는 오류가 (지원 라인에 따라) 서버 문제가 API에 영향을 미친다는 것을 의미하기 때문에 정지 상태에 있습니다. 그러나 왜 컬을 통해 그 응답을 얻을 수 없는지 모르겠습니다.

도움이 되었습니까?

해결책

우리는 배송 확인 및 PHP가 아닌 주소 유효성 검사 API 및 .NET을 사용하고 있지만 도와 드릴 수 있습니다.

우체국을 보내는 XML은 다음과 같은 쿼리 문자열의 당사자가되어야합니다.

https://servername/ShippingAPITest.dll?API=DeliveryConfirmationV3&XML=<DeliveryConfirmationV3.0Request USERID="username">…….</DeliveryConfirmationV3.0Request>

그런 다음 그들은 바로 XML 문서를 제공합니다. 나는 컬 라이브러리를 사용한 적이 없지만 이것이 실제로 보내는 것인지 확인할 수 있습니다.

또한 아직 승인을 받았습니까? 그렇지 않다면 통조림 테스트 응답 만 허용합니다. 프로덕션 서버에서 유효하더라도 다른 항목은 오류가 발생합니다.

다른 팁

XML 컨텐츠가 유효한 것처럼 들리기 때문에 (또는 적어도 USPS의 서버가 올바르게 읽는 것처럼) 요청의 구조 (예 : 누락 된 헤더)에서 무언가가 꺼져 있다는 것입니다.

USPS API 구현은 원시 TCP/IP 연결을 사용합니다. fsockopen, 이는 요청의 구조에서 우리가 보내는 것을 정확하게 확인할 수 있다는 이점이 있습니다. POST /ShippingAPI.dll HTTP/1.0

우리가 요청에 포함시키는 유일한 헤더는 다음과 같습니다.

User-Agent: (foo)\r\n
Host: (bar)\r\n
Content-Type: text/xml\r\n
Content-Length: strlen($xml)\r\n\r\n

컬을 통해 보내는 일과 일치합니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top