Вы используете неправильную страницу и метод запроса для получения данных.Я посетил страницу, на которую вы ссылались, она просто содержит текстовое поле, в которое вы можете добавить номера отправления, а затем перенаправляет вас на страницу с результатами.
Итак, простой вызов Wget на этой странице ничего не даст,Вам нужно знать точный URI, по которому нужно позвонить, чтобы получить подробности.Я открыл Network Tools в своем браузере и увидел сетевые запросы.После нажатия кнопки «Отправить» он отправляет запрос POST
, а ответ содержит все необходимые данные.Исходя из этого, я построил этот запрос:
$ cat ups-request
{
"Locale": "en_US",
"TrackingNumber": [
"45234534263"
]
}
Это строка JSON со всеми номерами пакетов, которые вы хотите отслеживать.Вы могли бы даже добавить больше чисел (сайт утверждает, что может обрабатывать до 25 вместе).Как только файл будет готов, вызовите Wget:
$ wget --method=POST --body-file=ups-request --header="Content-Type: application/json" "https://www.ups.com/track/api/Track/GetStatus?loc=en_US"
. В этом мы строим команду Wget, прося ее отправить запрос POST (--method=POST
), отправив запрос JSON, который мы создали вbody (--body-file=ups-request
) и сообщает Wget, что запрос имеет тип JSON (--header="Content-Type: application/json"
).Затем сервер отвечает обратно с полными деталями запроса:
{
"statusCode": "200",
"statusText": "Successful",
"isLoggedInUser": false,
"trackedDateTime": "02/14/2019 7:53 A.M. EST",
"isBcdnMultiView": false,
"trackDetails": [
{
"errorCode": "504",
"errorText": "Tracking number not found in database",
"requestedTrackingNumber": "45234534263",
"trackingNumber": "45234534263",
"isMobileDevice": false,
"packageStatus": null,
"packageStatusType": null,
"packageStatusCode": null,
"progressBarType": null,
"progressBarPercentage": null,
"simplifiedText": null,
"scheduledDeliveryDayCMSKey": null,
"scheduledDeliveryDate": null,
"noEstimatedDeliveryDateLabel": null,
"scheduledDeliveryTime": null,
"scheduledDeliveryTimeEODLabel": null,
"packageCommitedTime": null,
"endOfDayResCMSKey": null,
"deliveredDayCMSKey": null,
"deliveredDate": null,
"deliveredTime": null,
"receivedBy": null,
"leaveAt": null,
"leftAt": null,
"shipToAddress": null,
"shipFromAddress": null,
"consigneeAddress": null,
"signatureTrackingUrl": null,
"trackHistoryDescription": null,
"additionalInformation": null,
"specialInstructions": null,
"proofOfDeliveryUrl": null,
"upsAccessPoint": null,
"additionalPackagesCount": null,
"attentionNeeded": null,
"shipmentProgressActivities": null,
"trackingNumberType": null,
"preAuthorizedForReturnData": null,
"shipToAddressLblKey": null,
"trackSummaryView": null,
"senderShipperNumber": null,
"internalKey": null,
"userOptions": null,
"sendUpdatesOptions": null,
"myChoiceUpSellLink": null,
"bcdnNumber": null,
"promo": null,
"whatsNextText": null,
"packageStatusTimeLbl": null,
"packageStatusTime": null,
"myChoiceToken": null,
"showMycTerms": false,
"showConfirmWindow": false,
"confirmWindowLbl": null,
"confirmWindowLink": null,
"followMyDelivery": null,
"fileClaim": null,
"viewClaim": null,
"flightInformation": null,
"voyageInformation": null,
"viewDeliveryReceipt": null
}
]
}