"Invalid security token" 使用 urllib2
"Invalid security token" while using urllib2
我正在尝试使用 python 脚本获取 http 请求的内容。但我收到
Invalid security token
执行时出错。
这是以下片段
#!/usr/bin/python
import urllib2
username="username"
password="password"
url='some_url'
def encodeUserData(user, password):
return "Basic " + (user + ":" + password).encode("base64").rstrip()
req = urllib2.Request(url)
req.add_header('Accept', 'application/json')
req.add_header("Content-type", "application/json")
req.add_header('Authorization', encodeUserData(username, password))
# make the request and print the results
print res.read()
用户名和密码有特殊字符。
鉴于您能够在 bash 上使用 curl
成功 运行 请求,并获得 <Response [200]>
,您应该能够 运行它在 python-2.7 中包含请求和 urllib2。事实上,我刚刚尝试过,以下对我有用:
# with requests
import requests
username="username"
password="password"
url='https://url.html'
def encodeUserData(user, password):
return "Basic " + (user + ":" + password).encode("base64").rstrip()
response = requests.get(url, headers={'Authorization': encodeUserData(username, password)})
print response.content
如果你想使用urllib2,这也可以。
# with urllib2
import urllib2
username="username"
password="password"
url='https://url.html'
def encodeUserData(user, password):
return "Basic " + (user + ":" + password).encode("base64").rstrip()
req = urllib2.Request(url)
req.add_header('Authorization', encodeUserData(username, password))
res = urllib2.urlopen(req)
print res.read()
如果这不起作用,我建议您直接用编码行替换用户名和密码,看看是否可行。
我正在尝试使用 python 脚本获取 http 请求的内容。但我收到
Invalid security token
执行时出错。
这是以下片段
#!/usr/bin/python
import urllib2
username="username"
password="password"
url='some_url'
def encodeUserData(user, password):
return "Basic " + (user + ":" + password).encode("base64").rstrip()
req = urllib2.Request(url)
req.add_header('Accept', 'application/json')
req.add_header("Content-type", "application/json")
req.add_header('Authorization', encodeUserData(username, password))
# make the request and print the results
print res.read()
用户名和密码有特殊字符。
鉴于您能够在 bash 上使用 curl
成功 运行 请求,并获得 <Response [200]>
,您应该能够 运行它在 python-2.7 中包含请求和 urllib2。事实上,我刚刚尝试过,以下对我有用:
# with requests
import requests
username="username"
password="password"
url='https://url.html'
def encodeUserData(user, password):
return "Basic " + (user + ":" + password).encode("base64").rstrip()
response = requests.get(url, headers={'Authorization': encodeUserData(username, password)})
print response.content
如果你想使用urllib2,这也可以。
# with urllib2
import urllib2
username="username"
password="password"
url='https://url.html'
def encodeUserData(user, password):
return "Basic " + (user + ":" + password).encode("base64").rstrip()
req = urllib2.Request(url)
req.add_header('Authorization', encodeUserData(username, password))
res = urllib2.urlopen(req)
print res.read()
如果这不起作用,我建议您直接用编码行替换用户名和密码,看看是否可行。