- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Python 脚本,它根据发布的答案取消缩短 URL here .到目前为止,它运行良好,例如,youtu.be
、goo.gl
、t.co
、bit.ly
和 tinyurl.com
。但现在我注意到它不适用于 Flickr 自己的 URL 缩短器 flic.kr。
例如,当我输入网址时
https://flic.kr/p/qf3mGd
进入浏览器,我被正确重定向到
https://www.flickr.com/photos/106783633@N02/15911453212/
但是,当使用 Python 脚本取消缩短相同的 URL 时,我得到以下重定向
https://flic.kr/p/qf3mgd
http://www.flickr.com/photo.gne?short=qf3mgd
http://www.flickr.com/signin/?acf=%2Fphoto.gne%3Fshort%3Dqf3mgd
https://login.yahoo.com/config/login?.src=flickrsignin&.pc=8190&.scrumb=[...]
因此最终出现在雅虎登录页面上。 Unshort.me顺便说一句,可以正确地缩短 URL。我在这里缺少什么?
这是我的脚本的完整源代码。我用原始脚本偶然发现了一些病态案例:
import urlparse
import httplib
def unshorten_url(url, max_tries=10):
return __unshorten_url(url, [], max_tries)
def __unshorten_url(url, check_urls, max_tries):
if max_tries == 0:
if len(check_urls) > 0:
return check_urls[0]
return url
if url in check_urls:
return url
unshortended = ''
try:
parsed = urlparse.urlparse(url)
h = httplib.HTTPConnection(parsed.netloc)
h.request('HEAD', url)
except:
return None
try:
response = h.getresponse()
except:
return url
if response.status/100 == 3 and response.getheader('Location'):
unshortended = response.getheader('Location')
else:
return url
#print max_tries, unshortended
if unshortended != url:
if 'http' not in unshortended:
return url
check_urls.append(url)
return __unshorten_url(unshortended, check_urls, (max_tries-1))
else:
return unshortended
print unshorten_url('http://t.co/5skmePb7gp')
编辑:带有 t.co
URL 的完整工作示例
最佳答案
我以这种方式使用 Request [0] 而不是 httplib,它与 https://flic.kr/p/qf3mGd 一起工作得很好喜欢网址:
>>> import requests
>>> requests.head("https://flic.kr/p/qf3mGd", allow_redirects=True, verify=False).url
u'https://www.flickr.com/photos/106783633@N02/15911453212/'
关于python - 取消缩短 Flic.kr 网址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28425869/
我正在努力将NSString变量编码为Euc-kr类型... :( 我必须通信的数据库服务器基于Euc-kr,因此我别无选择。 最佳答案 上面的答案几乎是正确的,但是由于EUC-KR不是NSStrin
我遇到了这个 KR 练习 1-10: Write a program to copy its input to its output, replace each tab by \t, each bac
我有一个 Python 脚本,它根据发布的答案取消缩短 URL here .到目前为止,它运行良好,例如,youtu.be、goo.gl、t.co、bit.ly 和 tinyurl.com。但现在我注
我正在编写一些代码来解析使用 euc-kr 韩语编码器编码的服务器中的韩语文本。 当我在 Python 中进行相同的编码时,它会按预期工作。但是当我按照以下方式执行时,编码不起作用。结果是不可读的。
我正在尝试为加密货币交换编写一个 Python 包装器。 #!/usr/bin/python2.7 import hashlib import hmac import time base_url =
我尝试在 python 中读取一些以“euc-kr”编码的韩语文本文件,但出现了一些错误。在检查 encodings 模块一段时间后,我了解到该模块以看似非常奇怪的方式对韩语字符进行编码。我举个例子
当我构建我的 WPF 项目时,它会创建几个语言文件夹,每个文件夹都包含“Microsoft.Expression.Interactions.resources.dll”。 奇怪的是,我从未将我的资源字
我是一名优秀的程序员,十分优秀!