为什么我的浏览器使用此 URL 重定向我,但 Python 却没有?
Why do my browsers redirect me with this URL, but Python doesn't?
当我在 Python 2.7 上使用 urllib、urllib2 或请求时,没有一个结果与我复制并粘贴起始 URL 时相同 URL Chrome 或 Mac.
的 FireFox
编辑:我怀疑这是因为必须登录 vk.com 才能重定向。如果是这种情况,如何将登录添加到我的脚本中?谢谢!
实际最终(重定向)URL:https://oauth.vk.com/blank.html#access_token=PRIVATE_TOKEN&expires_in=86400&user_id=PRIVATE
私人,PRIVATE_TOKEN = 被审查的信息
以下是几种尝试之一:
import requests
APPID = 'PRIVATE'
DISPLAY_OPTION = 'popup' # or 'window' or 'mobile' or 'popup'
REDIRECT_URL = 'https://oauth.vk.com/blank.html'
SCOPE = 'friends' # https://vk.com/dev/permissions
RESPONSE_TYPE = 'token' # Documentation is vague on this. I don't know what
# other options there are, but given the context, i.e. that we want an
# "access token", I suppose this is the correct input
URL = 'https://oauth.vk.com/authorize?client_id=' + APPID + \
'&display='+ DISPLAY_OPTION + \
'&redirect_uri=' + REDIRECT_URL + \
'&scope=' + SCOPE + \
'&response_type=' + RESPONSE_TYPE + \
'&v=5.68'
# with requests
REQUEST = requests.get(URL)
RESPONSE_URL = REQUEST.url
我希望你注意到我的代码有什么问题。
额外信息:我需要重定向,因为 PRIVATE_TOKEN 值是进一步编程所必需的。
我尝试了一些调试,但解释器和IPython都没有打印出调试信息。
谢谢!
问题是未在Python环境中登录导致的。
解决方案:
使用 twill 在 Python 中创建浏览器并登录。
代码:
from twill.commands import *
BROWSER = get_browser()
BROWSER.go(URL) # URL is the URL concatenated in the question
RESPONSE_URL = BROWSER.get_url()
当我在 Python 2.7 上使用 urllib、urllib2 或请求时,没有一个结果与我复制并粘贴起始 URL 时相同 URL Chrome 或 Mac.
的 FireFox编辑:我怀疑这是因为必须登录 vk.com 才能重定向。如果是这种情况,如何将登录添加到我的脚本中?谢谢!
实际最终(重定向)URL:https://oauth.vk.com/blank.html#access_token=PRIVATE_TOKEN&expires_in=86400&user_id=PRIVATE
私人,PRIVATE_TOKEN = 被审查的信息
以下是几种尝试之一:
import requests
APPID = 'PRIVATE'
DISPLAY_OPTION = 'popup' # or 'window' or 'mobile' or 'popup'
REDIRECT_URL = 'https://oauth.vk.com/blank.html'
SCOPE = 'friends' # https://vk.com/dev/permissions
RESPONSE_TYPE = 'token' # Documentation is vague on this. I don't know what
# other options there are, but given the context, i.e. that we want an
# "access token", I suppose this is the correct input
URL = 'https://oauth.vk.com/authorize?client_id=' + APPID + \
'&display='+ DISPLAY_OPTION + \
'&redirect_uri=' + REDIRECT_URL + \
'&scope=' + SCOPE + \
'&response_type=' + RESPONSE_TYPE + \
'&v=5.68'
# with requests
REQUEST = requests.get(URL)
RESPONSE_URL = REQUEST.url
我希望你注意到我的代码有什么问题。
额外信息:我需要重定向,因为 PRIVATE_TOKEN 值是进一步编程所必需的。
我尝试了一些调试,但解释器和IPython都没有打印出调试信息。
谢谢!
问题是未在Python环境中登录导致的。
解决方案:
使用 twill 在 Python 中创建浏览器并登录。
代码:
from twill.commands import *
BROWSER = get_browser()
BROWSER.go(URL) # URL is the URL concatenated in the question
RESPONSE_URL = BROWSER.get_url()