USPS API возвращает 501 НЕ РЕАЛИЗОВАННО

Я пытаюсь использовать API USPS для проверки/проверки адреса.

Я отправляю этот XML на http://testing.shippingapis.com/ShippingAPITest.dll:

<AddressValidateRequest%20USERID="xxxxx"><Address ID="0"><Address1></Address1><Address2>6406 Ivy Lane</Address2><City>Greenbelt</City><State>MD</State><Zip5></Zip5><Zip4></Zip4></Address></AddressValidateRequest>

Это тот же XML, который показан в их документации для тестовых запросов. Однако я всегда получаю ответ HTML (вместо XML), который является ошибкой 501 Not Iplmented. Кто-нибудь, знакомый с этим API, знает, что может происходить? Я использую curl (в php), чтобы сделать запрос

ОБНОВЛЕНИЕ: когда я делаю запрос, вводя URL-адрес в браузере с параметрами get, кажется, что он работает нормально, но я получаю упомянутую выше ошибку, используя php/curl или просто curl из командной строки.

ОБНОВЛЕНИЕ: если я использую file_get_contents с URL-адресом, я получаю ошибку 400 неверных запросов, но если я использую urlencode, он отлично работает - решение принято.


person gregghz    schedule 22.10.2010    source источник
comment
Если у вас возникнут еще проблемы, Греггори, я буду рад помочь. Я работаю в компании SmartyStreets, где мы также проверяем адреса, используя официальные данные USPS. API USPS, хотя и неплохой сам по себе плох, не обязательно является надежным для этой задачи, а бизнес-ядро USPS не предоставляет высококачественных API. Хотя я могу быть склонен к нашему собственному API (LiveAddress), я могу предложить вам поискать для себя другие бесплатные альтернативы, если вам нужна более высокая производительность и что-то более простое в использовании.   -  person Matt    schedule 07.02.2012


Ответы (1)


Не знаком с API, но:

Вам нужен %20 после AddressValidateRequest? Это работает, когда это заменено пробелом?

Кроме того, вам нужно использовать CURL? Не могли бы вы просто использовать fopen() или file_get_contents(), а затем использовать параметры GET, которые, как вы упомянули, работают нормально?

person Luke Stevenson    schedule 23.10.2010
comment
Показанный XML идентичен тому, что показывает документация USPS с %20 только в этой одной позиции. Однако я попытался заменить его пробелом И заменить все пробелы на% 20. Я дам методу file_get_contents первый шанс, который у меня появится, и отчитаюсь. Спасибо! - person gregghz; 23.10.2010
comment
Сотрите это. file_get_contents работает (когда я urlencode ›.‹) Этого достаточно для меня! Спасибо! - person gregghz; 25.10.2010