我正在使用我公司的Internet,並且需要訪問網頁以從中刪除數據。我正在使用Python請求模塊。我需要訪問的頁面是通過POST請求完成的。我的公司有一個代理。我可以使用requests.post()中的代理標誌通過代理。但是,有一個使用cookie的認證部分,我似乎無法完成。如何在使用POST請求時執行身份驗證部分?Python請求通過代理進行POST調用的身份驗證
我想使用如在此線程所描述的認證過程,但它不工作: Authentication and python Requests
代碼設置是這樣的:
import ssl
from MyHtmlParser import MyHTMLParser
from lxml import html
import requests
from bs4 import BeautifulSoup as bs
def authenticate(s, url):
headers = {'USER_NAME': 'me', 'PASSWORD': 'mypassword', '_Id': 'submit'}
page=s.get(url)
soup=bs(page.content)
value=soup.form.find_all('input')[2]['value']
headers.update({'value_name':value})
auth = s.post(url, params=headers, cookies=page.cookies)
post_url_finance = 'https://opsdata<company>com/scripts/finance/finance.exe'
values_finance = {'EMPLOYEE_TOTAL': 'employeeId'}
proxies = {'http': 'http://proxy-<company>.com'}
page = requests.post(post_url_finance, data=values_finance, proxies=proxies) print page.content
不過,我得到這個錯誤返回:
$ python postUsingRequests.py
Traceback (most recent call last):
File "postUsingRequests.py", line 53, in <module>
page = requests.post(post_url_finance, data=values_finance, proxies=proxies)
File "C:\Python27\lib\site-packages\requests\api.py", line 109, in post
return request('post', url, data=data, json=json, **kwargs)
File "C:\Python27\lib\site-packages\requests\api.py", line 50, in request
response = session.request(method=method, url=url, **kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 465, in request
resp = self.send(prep, **send_kwargs)
File "C:\Python27\lib\site-packages\requests\sessions.py", line 573, in send
r = adapter.send(request, **kwargs)
File "C:\Python27\lib\site-packages\requests\adapters.py", line 431, in send
raise SSLError(e, request=request)
requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
我嘗試了與驗證= False,並且我正在此回:$蟒postUsingRequests.py <響應[200]> <響應[200]> <響應[200]> C:\ Python27 \ lib \ site-packages \ urllib3 \ connectionpool.py:768:InsecureRequestWarning:未驗證的HTTPS請求正在進行。強烈建議添加證書驗證。請參閱:https://urllib3.readthedocs.org/en/latest/security.html InsecureRequestWarning) – mjpablo23
我期待一個頁面上有一個表格來刮擦。這是否意味着它不會把我帶到那個頁面? – mjpablo23
似乎如果我沒有通過認證,它沒有顯示我的表格。 – mjpablo23