- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试加载一个重定向到自身的 url。我假设它正在加载一个 cookie 并正在寻找它,但它从来没有看到它,所以存在这个无限循环的请求。
我试过 urllib2、urlfetch 和 httplib2。没有工作。
虽然我试过了:
url = "http://www.cafebonappetit.com/menu/your-cafe/collins-cmc/cafes/details/50/collins-bistro"
thing = urllib2.HTTPRedirectHandler()
thing2 = urllib2.HTTPCookieProcessor()
opener = urllib2.build_opener(thing, thing2)
url = 'http://www.nytimes.com/2005/10/26/business/26fed.html?pagewanted=print'
page = opener.open(url)
这适用于 shell,但不适用于 Google App Engine。在 urlfetch 的文档中: http://code.google.com/appengine/docs/python/urlfetch/fetchfunction.html
在 follow_redirects 下,它说:“重定向时不处理 Cookie。如果需要处理 Cookie,请将 follow_redirects 设置为 False 并手动处理 Cookie 和重定向。”
我不知道该怎么做,而且文档似乎也没有提供任何线索。
我用谷歌搜索解决了这个问题,没有任何报告的问题可以解决我的问题。
最佳答案
多一点解释。很高兴至少网站的行为得到了解释:它需要一些 cookie,如果未设置 cookie,它会使用 cookie 设置 header 重定向到自身。您可能应该阅读 cookie 的工作原理;网站使用 Set-Cookie header 发送 cookie,浏览器必须在 Cookie header 中回显它(有一些变化)。 Python 有一个用于管理 cookie 集合的库,cookielib 可以帮助您完成这项工作。
最好使用原生的urlfetch API;它的返回对象有一个标题对象,它是一个给出所有标题的字典(例如 Set-Cookie 标题)。要发送特定的 header ,请使用 urlfetch.fetch() 函数的 header 参数。在这里您将使用 Cookie header (但请记住,您设置的 Cookie header 的格式与您收到的 Set-Cookie header 的格式不同——这就是 cookielib 的用武之地。
祝你好运!
附言。使用 curl -v 很容易看出该站点实际上发送了三个不同的 Set-Cookie header 。您可能必须处理所有这三个问题。
关于python - urlfetch 重定向到 python 中的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9420795/
这是我尝试通过 Google 电子表格图表上的 JavaScript 工具运行的函数,该函数当前在 4 个不同的网站上运行,在此示例中: $id 是从我的电子表格单元格 (belacoin) 导入的值
我在 GAE 1.7.4 上使用 urlfetch API...我尝试通过以下方式进行获取: result=urlfetch(http://localdomain:8080/static/tabcon
我有一个 App Engine 应用程序尝试获取长网址。经过实验后,似乎由于某种原因,App Engine 将获取的 url 长度限制为 2047。这是错误的堆栈跟踪: File "/base/dat
我正在使用 Appengine-Java 开发一个网络应用程序。我是这个领域的新手,我很难过。 我目前正在使用循环。每个循环从列表中访问某个 isbn,然后通过 urlFetch 获取书籍的详细信息。
如果我使用以下代码: result = urlfetch.fetch(url=url_get_devices, payload='',
我正在尝试将位于 Blobstore 中的文件从 GAE 发布到另一个 HTTP 服务 (virustotal)。 当前代码段适用于小文件(1 - 2 mb): import base64 impor
我正在尝试在谷歌应用引擎应用程序中向 python 中的粒子服务器发出请求。 在我的终端中,我可以简单而成功地完成请求,请求如下: res = requests.get('https://api.pa
我注意到在 Java 实现中似乎存在对 urlfetch 的同时异步调用的限制(如此处所述:http://code.google.com/appengine/docs/java/urlfetch/ov
在我为 GAE 编写的一些代码中,我需要定期对另一个系统上的 URL 执行 GET,本质上是“ping”它,如果请求失败、超时或成功,我并不十分担心。 因为我基本上想“即发即忘”而不是通过等待请求来减
我想知道 Google App Engine URL Fetch Python API不支持访问具有凭据的 URL: http://username:password@www.domain.com/
我正在尝试通过 Google Apps 脚本运行 MongoLab(基于 REST 的 MongoDB 访问)查询。从记录器生成的 URL 如下所示 https://api.mongolab.com/
是否可以更改与 Google Apps 脚本一起使用的用户代理字符串 UrlFetchApp.fetch要求? This discussion从 2010 年开始暗示 Google Apps Scri
目标是运行大约 10,000 行链接。确定页码 > 3 的页码并突出显示第一列。我已经完成了所有这些,但问题是 Url Fetch 花费的时间太长,我遇到了最大运行时间错误。无论如何,我可以加快这段代
我已经用 Python 构建了一个由 Node 应用程序获取的 App 引擎 API。该 API 按预期工作(1)生产中的获取和发布请求以及(2)开发中的获取请求。它在开发中的发布请求上失败,我可以使
使用 Google App Engine,我试图从包含一个 csv 文件的 URL 中 urlfetch 一个 gzip 文件。 最终我想在我的网页上输出csv文件的内容。 我现在有以下代码: #!/
嘿。我对 App Engine 很陌生。我创建了一个基于 Web 的 Twitter 应用程序,该应用程序现在运行在 App Engine 上,并且我不断地达到我的 CPU 超过配额限制。我做了一些分
我有两个正在运行的 App Engine 应用程序实例,我想通过 Restful 接口(interface)进行通信。一旦其中一个的数据更新,它就会调用第二个的 Web 钩子(Hook),后者将为自己
我正在尝试加载一个重定向到自身的 url。我假设它正在加载一个 cookie 并正在寻找它,但它从来没有看到它,所以存在这个无限循环的请求。 我试过 urllib2、urlfetch 和 httpli
根据GAE fetch documentation , cookie 不使用重定向处理: Cookies are not handled upon redirection. If cookie han
我有一个 Google Appengine 应用程序使用 urllib2 POST 从另一台服务器请求页面。我最近在另一台运行 Apache2 的服务器上启用了 gzip 压缩,Appengine 页
我是一名优秀的程序员,十分优秀!