Как избежать ошибки неверного ввода при передаче данных формы в запросах Python? - PullRequest
0 голосов
/ 12 мая 2019

Я использую Python 2.7 для отправки почтового запроса на веб-сайт billdesk с моим номером клиента, чтобы получить его данные.

Я получаю сообщение об ошибке ввода неверных данных при прохождении запроса ниже.Я также пытался использовать данные формы, закодированные в формате json.

url="https://pgi.billdesk.com/pgidsk/pgmerc/rvvnlaj/RVVNLAJConfirm.jsp"

payload={
        "service":"BILL",
        "txtCustomerID":"110331033880",
        "txtEmail":"mymailid@gmail.com"
        }

headers={
       "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
       "Accept-Encoding":"gzip, deflate, br",
       "Accept-Language": "en-US,en;q=0.9",
       "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36",
       "Upgrade-Insecure-Requests": "1",
       "Content-Type":"application/x-www-form-urlencoded",
       "Connection":"keep-alive",
       "Host":"pgi.billdesk.com"
   }

z=requests.post(url,headers=headers,data=payload)
print z.content

Я ожидаю, что в содержании указаны сведения о счете, но я получаю сообщение об ошибке ввода неверных данных.

<td >&nbsp;</td>
<td bgcolor="#ff9966" class="textrvvnl">Invalid Inputs</td>
<td >&nbsp;</td>
</tr>
<tr>
<td >&nbsp;</td>
<td bgcolor="#ff9966" class="textrvvnl">&nbsp;
</td>
<td >&nbsp;</td>
</tr>

Просьба сообщить, передаю ли я данные формы в неправильном формате.

1 Ответ

1 голос
/ 12 мая 2019

Вы используете неправильные заголовки, попробуйте использовать следующие:

headers={
        "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:66.0) Gecko/20100101 Firefox/66.0",
        "Referer": "https://pgi.billdesk.com/pgidsk/pgmerc/rvvnlaj/RVVNLAJDetails.jsp"
       }

надеюсь, это поможет

...