Я хочу войти на сайт GST используя библиотеку запросов python. Но получить ошибку 405? - PullRequest
0 голосов
/ 19 апреля 2020

Когда я пытался зайти на сайт GST (https://services.gst.gov.in/services/login), используя пост-запрос из библиотеки запросов python. Я получил ошибку 405. Что я сделал?

Я использовал метод аутентификации url = "https://services.gst.gov.in/services/authenticate" и передал заголовки, файлы cookie и данные (даже код капчи), но мне не удалось. Пожалуйста, помогите !!!

Мой код

import requests
import random
url="https://services.gst.gov.in/services/login"
headers={
    'Accept' : 'ext/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0',
}
s=requests.Session()
r=s.get(url, headers=headers)
id=r.cookies['TS01b8883c']
print(id)

# To Generate a Captcha for Login
# Captcha Starts
params={
    'rnd':str(random.uniform(0,1)), # For Random float numbers
}
cookies={
    'lang': 'en',
    'TS01b8883c':str(id),
}

headers={
    'Accept': 'image/webp,*/*',
    'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0',
    'Referer' : 'https://services.gst.gov.in/services/login',
}
captchaUrl="https://services.gst.gov.in/servicescaptcha"
captcha=s.get(captchaUrl,params=params,headers=headers,cookies=cookies)

# Saving the response captcha image in my computer drive
with open('captcha.png','wb') as x:
    x.write(captcha.content)

id=captcha.cookies['TS01b8883c']
print(id)
cookieId=captcha.cookies['CaptchaCookie']
print(cookieId)


# Authenticate
url="https://services.gst.gov.in/services/authenticate"
cookies={
    'lang': 'en',
    'TS01b8883c':str(id),
    'CaptchaCookie': str(cookieId),
}


inp=input("Enter Captcha") # Inputting Captcha code
data={
    'username':'DemoUserId',
    'password': 'DemoPassword',
    'captcha': str(inp),
    "type":"username",
    'mFP' : r'{"VERSION":"2.1","MFP":{"Browser":{"UserAgent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0","Vendor":"","VendorSubID":"","BuildID":"20181001000000","CookieEnabled":true},"IEPlugins":{},"NetscapePlugins":{"Shockwave Flash":"20.0.0.235"},"Screen":{"FullHeight":900,"AvlHeight":860,"FullWidth":1600,"AvlWidth":1600,"ColorDepth":24,"PixelDepth":24},"System":{"Platform":"Win32","OSCPU":"Windows NT 6.1; Win64; x64","systemLanguage":"en-US","Timezone":-330}},"ExternalIP":"","MESC":{"mesc":"mi=2;cd=150;id=30;mesc=325266;mesc=361900"}}',
}

headers={
    'User-Agent' : 'Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0',
    'Accept' : 'application/json, text/plain, */*',
    'Content-Type' : 'application/json;charset=utf-8',
    'Referer' : 'https://services.gst.gov.in/services/login',
    'Origin' : 'https://services.gst.gov.in',
    'Content-Length' : str(len(str(data))),
}
r=s.post(url,headers=headers,data=data,cookies=cookies)
print(r.status_code)

Вывод: - 405 Ответ об ошибке

Что делать?

...