解决问题的答案(使用unshort.meAPI)是我的问题,我专注于取消youtube链接。由于unshort.me易于使用,这将返回我无法解析的验证码几乎90%的结果。
到目前为止,我仍然坚持使用:
def unshorten_url(url):
resolvedURL = urllib2.urlopen(url)
print resolvedURL.url
#t = Test()
#c = pycurl.Curl()
#c.setopt(c.URL, 'http://api.unshort.me/?r=%s&t=xml' % (url))
#c.setopt(c.WRITEFUNCTION, t.body_callback)
#c.perform()
#c.close()
#dom = xml.dom.minidom.parseString(t.contents)
#resolvedURL = dom.getElementsByTagName("resolvedURL")[0].firstChild.nodeValue
return resolvedURL.url
注意:注释中的所有内容都是我在使用unshort.me服务(返回验证码链接)时尝试执行的操作。
有谁知道一种更有效的方法来完成此操作而无需使用open(因为这浪费带宽)?
在该问题中使用评分最高的答案(而非公认的答案):
# This is for Py2k. For Py3k, use http.client and urllib.parse instead, and
# use // instead of / for the division
import httplib
import urlparse
def unshorten_url(url):
parsed = urlparse.urlparse(url)
h = httplib.HTTPConnection(parsed.netloc)
resource = parsed.path
if parsed.query != "":
resource += "?" + parsed.query
h.request('HEAD', resource )
response = h.getresponse()
if response.status/100 == 3 and response.getheader('Location'):
return unshorten_url(response.getheader('Location')) # changed to process chains of short urls
else:
return url
我有Bitly v3的这段代码,它运行良好。 然而,如何在新版本中做到这一点?上面的示例使用API键,但为了支持OAuth请求,它已被弃用。 如何使用Bitly v4缩短URL?
问题内容: 我希望能够采用缩短或未缩短的URL并返回其未缩短的形式。我如何制作一个python程序来做到这一点? 附加说明: 情况1:缩短->未缩短 情况2:未缩短->未缩短 例如在输入数组中应该在输出数组中 例如在输入数组中应该在输出数组中 问题答案: 将HTTP HEAD请求发送到URL并查看响应代码。如果代码是30x,请查看标题以获取未缩短的URL。否则,如果代码是20x,则不会重定向URL
问题内容: 我正在尝试读取TLS消息。具体来说,是带有证书详细信息(handshake_type = 11)的证书。我正在做的是先检查邮件中是否包含。如果是这样,我将像这样提取有效负载:。接下来,我要检查 第一个 字节是,接下来的两个字节需要是正确的TLS版本。 问题在于此消息没有通过这些条件。WireShark向我显示了位置上的字节(已附加图片),但是我想这样做是为了方便。 那么我的假设是有效载
问题内容: 如果文件是A ,我可以解压缩文件,如果文件类型是I,则可以解压缩文件。我如何使用python 2.7进行此工作? 问题答案: 试试这个包:
本文向大家介绍Python如何使用RabbitMQ的消息,包括了Python如何使用RabbitMQ的消息的使用技巧和注意事项,需要的朋友参考一下 示例 从导入库开始。 使用消息时,我们首先需要定义一个函数来处理传入的消息。这可以是任何可调用的函数,并且必须采用一个消息对象或一个消息元组(取决于中to_tuple定义的参数start_consuming)。 除了处理传入消息中的数据外,我们还必须确