代碼如下:我用了多個方法下載excel檔案,檔案中的兩個下載方法都是報用戶名和密碼錯誤,但是用戶名和密碼是對的,我手工能登陸的,
哪位大俠能否幫看看?
Authentication Failure: AADSTS50126: Error validating credentials due to invalid username or password
#
Script Complete
Traceback (most recent call last):
File "Report.py", line 91, in <module>
urllib.request.urlretrieve(url,"temp.xlsx",fun)
File "/local/anaconda3/lib/python3.7/urllib/request.py", line 247, in urlretrieve
with contextlib.closing(urlopen(url, data)) as fp:
File "/local/anaconda3/lib/python3.7/urllib/request.py", line 222, in urlopen
return opener.open(url, data, timeout)
File "/local/anaconda3/lib/python3.7/urllib/request.py", line 531, in open
response = meth(req, response)
File "/local/anaconda3/lib/python3.7/urllib/request.py", line 641, in http_response
'http', request, response, code, msg, hdrs)
File "/local/anaconda3/lib/python3.7/urllib/request.py", line 569, in error
return self._call_chain(*args)
File "/local/anaconda3/lib/python3.7/urllib/request.py", line 503, in _call_chain
result = func(*args)
File "/local/anaconda3/lib/python3.7/urllib/request.py", line 649, in http_error_default
raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 401: Unauthorized
import pandas as pd
import xlrd, xlwt
#from xlutils.copy import copy
import sharepy
import logging
from sharepy import connect
from sharepy import SharePointSession
import urllib
import datetime
import urllib.request
import os,time
import http.cookiejar
import requests
import http.cookiejar as cookielib
sharepointSession = requests.session()
sharepointSession.cookies = cookielib.LWPCookieJar(filename = "sharepointCookies.txt")
userAgent = "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0"
header = {
"Host": "ericsson.sharepoint.com",
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language": "en-US,en;q=0.5",
"Accept-Encoding": "gzip, deflate",
"Referer": "https://ericsson.sharepoint.com/sites/RA-BB-XMU04/Shared%20Documents/Forms/AllItems.aspx",
"Cookie": "MicrosoftApplicationsTelemetryDeviceId=fc74c60d-3881-2966-cb05-c4bb9ce540ab; MicrosoftApplicationsTelemetryFirstLaunchTime=1594628753445; MicrosoftApplicationsTelemetryDeviceId=d018e2f2-0010-f34d-9bb0-92692b5ae08c; MicrosoftApplicationsTelemetryFirstLaunchTime=1596517591842; ExcelWacDataCenter=EU2; WacDataCenter=EU2; odbn=1; FedAuth=77u/PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48U1A+VjgsMGguZnxtZW1iZXJzaGlwfDEwMDMzZmZmOGZmMDc5ZDVAbGl2ZS5jb20sMCMuZnxtZW1iZXJzaGlwfGtlZGkud2FuZ0Blcmljc3Nvbi5jb20sMTMyNDA5OTExNzkwMDAwMDAwLDEzMjQwNTQ1OTgwMDAwMDAwMCwxMzI0MTA4MzI4OTQ5NjUxMTAsMTkyLjE3Ni4xLjg1LDIsOTJlODRjZWItZmJmZC00N2FiLWJlNTItMDgwYzZiODc5NTNmLCwwYTFiMDdlZi00YzRkLTRlZDgtYjBhNS1jZjFlMzFkODkyNWEsOWRhMDZjOWYtNTA3YS1iMDAwLTgwOWEtZDEwODY1N2Y1NjU4LDBmYTY2YzlmLTIwMjAtYjAwMC03YTc0LTVlOWMyMTYxOTA1MiwsMCwxMzI0MTAwMDQ4OTQ4MDkxNDIsMTMyNDEyNTYwODk0ODA5MTQyLCwsLDI2NTA0Njc3NDM5OTk5OTk5OTksMTMyNDA5OTExODAwMDAwMDAwLDBlYWM0OTMzLTQ4ZDAtNDY4MC05ZTQ3LWJkYTU4NzE5ZTViZCxlb0NPYys0R0N3Rjg4Y2VtY255a1pGdGVLRFd3TG5qZkxFU3F1S1ViaW9HZXNISVJMckxBb090L2dDVkNIN0ZkTUhwbldtbGEvUnM5UDBiRGZkRFY5MEs5QjFsWHBNeU5FRXFjL29CTWhkenVpU0lzNEhYRCswdlZSNEVnVTFOcTRLcWZqNUk0TU5ZRFZCV1NVbEQ0Qjhiem9XMHNVWTdlSUMxWWZ2SDVUL2xJRDB0N1ZEQmYxc2krRSsxemkzZjZRcmtjWEtTWGYrQzFaaUUweE0ybkNkOVdTRXluNS9aTkludm82Yzl4OXRrODJSVjJVRGJMQS9mdVJNYUtKOFM1dmpKdXlkelZiVGR0U0dNZDUrQllQcVFjNmpRYU5QTTRSbWlWblJIZjJIdCtwZTAwUUdLekcrS2MrSzBncmRiUHhHbEhmbkY2YWN3dWxzejk5aE9JQUE9PTwvU1A+; rtFa=Zre4tPkpEM7HOy4rvrlHRSnmDVcO9hWDlMFJSRJIkcEmOTJFODRDRUItRkJGRC00N0FCLUJFNTItMDgwQzZCODc5NTNGIzEzMjQwOTkxMTgwODE5MDM0NSM5REEwNkM5Ri01MDdBLUIwMDAtODA5QS1EMTA4NjU3RjU2NTg7+C+jhD5bSbJI0spW7RkXDx4LhJFwW2u29OuDmlBxuOUjnCyvm9W+XOoapeP7l0ypvTPaJA/V5yCZfx5esEYRC6WD0WlHsbqetWZgsZJSVyCRzfHeqhWPxhyrUdR/VV2aiaH7xCxj8N49xPilZIMJ5D8Q4XDo89Ky5djyxRJCummqMmIbC6wFT2gJBo2ZX0+D2Or2h66I/TOoiy2Mhi/FZJ6UBcBxhR6xqaVx1n6/7LSeLNFJxoG1YABBwJngFtt4hkMWIJ5aAfU9AmA2ZQzZ+CujzbRMU2BhSbl1B9k+l8Wq/fV9ugbsWYTjxN16yNMFw25DtRyUcvTlX+PEeJIWfQAAAA==; isso=dHJ1ZSwyODUwMCwyODgwMCwxNTk2NTUyMDYyODgyLDE1OTY1NTIzNjI4ODI=",
"Connection": "keep-alive"
}
params = {"UniqueId": "75d36489-5ac7-4446-81be-679511181e71"}
username=""
password=""
url="https://ericsson.sharepoint.com/sites/RA-BB-XMU04/_layouts/15/download.aspx?UniqueId=75d36489-5ac7-4446-81be-679511181e71"
def sharepointLogin(account, password):
print("開始模擬登錄sharepoint")
postUrl = "https://ericsson.sharepoint.com/_forms/default.aspx"
#postUrl = "https://ericsson.sharepoint.com/login"
postData = {
"passport": account,
"password": password,
}
# 使用session直接post請求
responseRes = sharepointSession.post(postUrl, data = postData,allow_redirects = False,headers = header)
# 無論是否登錄成功,狀態碼一般都是 statusCode = 200
#print(f"statusCode = {responseRes.status_code}")
#print(f"text = {responseRes.text}")
sharepointSession.cookies.save()
sharepointLogin(username,password)
requests.get(url,params=params,headers=header, auth=(username,password))
s=sharepy.connect("https://ericsson.sharepoint.com",username,password)
print("#")
s.save()
# Download file to same folder as python script, save as My_File.xlsx.
r = s.getfile(url,\
filename = 'G2%20Integration%20Support%20Daily%20Test.xlsx')
print("Script Complete")
def fun(blocknum,blocksize,totalsize):
"""
blocknum:當前的塊編號
blocksize:每次傳輸的塊大小
totalsize:網頁檔案總大小
"""
percent = blocknum*blocksize/totalsize
if percent > 1.0:
percent = 1.0
percent = percent*100
print("download : %.2f%%" %(percent))
#urllib.request.urlretrieve(url,path,fun)
urllib.request.urlretrieve(url,"temp.xlsx",fun)
uj5u.com熱心網友回復:
upupupup轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/18247.html
上一篇:python陣列逆序輸出問題
