www.91084.com

GVKun编程网logo

Python遵循重定向,然后下载页面?(python遵循重定向,然后下载页面怎么办)

12

对于想了解Python遵循重定向,然后下载页面?的读者,本文将是一篇不可错过的文章,我们将详细介绍python遵循重定向,然后下载页面怎么办,并且为您提供关于301重定向,首页和内页都实现重定向、Dj

对于想了解Python遵循重定向,然后下载页面?的读者,本文将是一篇不可错过的文章,我们将详细介绍python遵循重定向,然后下载页面怎么办,并且为您提供关于301重定向,首页和内页都实现重定向、Django使用CSRF令牌将POST请求发送到views.py,然后重定向页面、HttpClient 不遵循重定向,Azure 函数队列触发器、IPython:将Python脚本的输出重定向到文件(如bash>)的有价值信息。

本文目录一览:

Python遵循重定向,然后下载页面?(python遵循重定向,然后下载页面怎么办)

Python遵循重定向,然后下载页面?(python遵循重定向,然后下载页面怎么办)

我有以下python脚本,它可以很好地工作。

import urllib2

url = 'http://abc.com' # write the url here

usock = urllib2.urlopen(url)
data = usock.read()
usock.close()

print data

但是,我提供的某些URL可能会将其重定向2次或更多次。如何在加载数据之前让python等待重定向完成。例如,当使用上面的代码

http://www.google.com/search?hl=en&q=KEYWORD&btnI=1

这相当于在Google搜索上点击即时幸运按钮,我得到:

>>> url = 'http://www.google.com/search?hl=en&q=KEYWORD&btnI=1'
>>> usick = urllib2.urlopen(url)
Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",line 126,in urlopen
    return _opener.open(url,data,timeout)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",line 400,in open
    response = meth(req,response)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",line 513,in http_response
    'http',request,response,code,msg,hdrs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",line 438,in error
    return self._call_chain(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",line 372,in _call_chain
    result = func(*args)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/urllib2.py",line 521,in http_error_default
    raise HTTPError(req.get_full_url(),hdrs,fp)
urllib2.HTTPError: HTTP Error 403: Forbidden
>>>

香港专业教育学院尝试了(URL,数据,超时),但是,我不确定该放在哪里。

编辑:我实际上发现如果我不重定向,而只是使用第一个链接的标头,我可以抓住下一个重定向的位置,并将其用作我的最终链接

301重定向,首页和内页都实现重定向

301重定向,首页和内页都实现重定向

301重定向,首页和内页都实现重定向

  域名变更,为了使搜索引擎权重自然转换,301重定向是无疑是必然之选,但很多人都发现,一般在IIS中设置重新定向到URL功能只有首页能生效,内页的301都是跳转到首页来的。这样就不好了,怎么办?
  经查资料发现,原来301转向还需要加参数。

  以下为引用的内容:

  $S 将请求的 URL 的后缀传递给新的 URL。后缀是用重定向的 URL 代替之后,初始 URL 中所保留的部分。

  如果未设置 EXACT_DESTINATION 标志,则结果目标 URL 的名称将具有所请求文件的名称(作为文件夹名称)以及文件名本身。

  $Q 将初始 URL 中的参数( querystring 参数)传递至新的 URL,包括问号 (?)。 本文来自起源网

  具体的操作为。

  打开IIS.新建网站。绑定要做转向的米。如我的www.39magic.com,然后右键,属性,主目录。

  以下为引用的内容:

  选择 重新定向到URL(U)

  重新定向到(C) 这里输入我的新域名 http://www.39magic.cn$S$Q (注意,我后边加上了参数$S$Q)

  客户端重新定向到: 选择 上边输入的准确 URL(X) 和资源的永久重新定向(H)

  然后确定就行了。

  测试一下。在地址栏里输入http://www.39magic.com   自动跳转到 http://www.39magic.cn

  在试下内页的跳转。收入http://www.39magic.com/website.asp 自动跳转到http://www.39magic.cn/website.asp

  OK.成功。

 

Django使用CSRF令牌将POST请求发送到views.py,然后重定向页面

Django使用CSRF令牌将POST请求发送到views.py,然后重定向页面

我通过使用带有method =“ post”的常规形式解决了这个问题:

<form id="braintree-submit-form" method="post" action="{% url 'shop:payment' %}">
{% csrf_token %}
{# added any inputs I could get from the template here,for example #}
<input type="text" name="first-name"value="{{ request.user.first_name}}" required />
{# ... #}

我仍然需要添加一些表单输入,它们的值我只能通过javascript访问,但最终得到了一个更短的简单函数。原因是这是Braintree's Dropin UI的实现。

submitForm.addEventListener('submit',function (e) {

    e.preventDefault()

    instance.requestPaymentMethod(function (err,payload) {

        var nonceInput = document.createElement("input")
        nonceInput.setAttribute('name','paymentMethodNonce')
        nonceInput.setAttribute('value',payload.nonce)
        nonceInput.setAttribute('type','hidden')
        submitForm.appendChild(nonceInput)

        var addrInput = document.createElement("input")
        addrInput.setAttribute('name','address')
        addrInput.setAttribute('value',$('#address-select').val())
        addrInput.setAttribute('type','hidden')
        submitForm.appendChild(addrInput)

        submitForm.submit()
    })

HttpClient 不遵循重定向,Azure 函数队列触发器

HttpClient 不遵循重定向,Azure 函数队列触发器

如何解决HttpClient 不遵循重定向,Azure 函数队列触发器?

我有一个 azure 队列,其中的消息是 uri 列表。 我使用队列触发器来从 uri 获取 csv。 我的批量大小为 6。 CSV 大小不一(2mb-4gb)。

我有一个使用 IHttpClientFactory 的 HttpClient。 我使用 HttpCompletionoption.ResponseHeadersRead 选项对某个 url 进行了 GetAsync。 我以流的形式阅读内容。

如果我从解决方案中调用:https://www.thedomaine.com 我得到 302 的响应状态代码。 标题中的位置属性是 https://thedomaine.com。

如果我使用开发者控制台检查网络,我确实得到了 302,然后是 200 到:https://content.thedomaine.com(第一次调用的响应头中的位置是:https://content.thedomaine.com)

网站总是触发重定向到 https://content...

我有大约 700 个调用(来自不同域)要做,以便下载 2mb - 4gb 之间的 csv。

QueueTrigger 和 HttpClient 有问题吗? 我搞砸了配置吗? 我不应该对 Parralel Queue 使用异步操作吗?

这是示例代码:

 public async Task TransformQueue([QueueTrigger("Feedtransformer-queue")] FeedTransformerDTO FeedTransformerData,ILogger logger)
    {
        try
        {
            var configuration = await _blobManager.ReadBlobConfigurationAsync(FeedTransformerData.Plateform,FeedTransformerData.Program);

            using HttpResponseMessage response = await Client.GetAsync(FeedTransformerData.UrlFeed,HttpCompletionoption.ResponseHeadersRead);
            using Stream stream = await response.Content.ReadAsstreamAsync();
            using StreamReader streamReader = new StreamReader(stream);


            if (response.IsSuccessstatusCode)
            {

                string header = await streamReader.ReadLineAsync();

                bool shouldWriteInBlob = _transformer.TryGetTransformedHeader(header,configuration.HeaderToReplaceByValue,out string transformedHeader);

                FeedTransformerData.Output = transformedHeader;

                if (shouldWriteInBlob)
                {
                    FeedTransformerData.Output = await _blobManager.WriteFeedGetUriAsync(configuration,transformedHeader,streamReader);
                }
            }
            else
            {
                FeedTransformerData.Output = $"Exception => {response.StatusCode}";
            }
          
            QueueClient queueClient = new QueueClient(_configuration["AzureWebJobsstorage"],_configuration["FeedTransformerAddInSheetQueue"]);
            queueClient.QueueMessage(FeedTransformerData);
        }
        catch (Exception ex)
        {
            throw;
        }
    }

顺便说一下,单元测试一堆 Uri (20) 确实有效。我得到了 csv,即使有重定向。

在批量大小为 1 的情况下,它运行良好。但是我的解决方案太慢了。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

IPython:将Python脚本的输出重定向到文件(如bash>)

IPython:将Python脚本的输出重定向到文件(如bash>)

我有一个要在IPython中运行的Python脚本。我想将输出重定向(写入)到文件,类似于:

python my_script.py > my_output.txt

当我在IPython中运行脚本时如何执行此操作,例如 execfile('my_script.py')

有一个较旧的页面描述了可以编写的用于执行此操作的函数,但是我相信现在有一种内置的执行方法,我只是找不到。

今天的关于Python遵循重定向,然后下载页面?python遵循重定向,然后下载页面怎么办的分享已经结束,谢谢您的关注,如果想了解更多关于301重定向,首页和内页都实现重定向、Django使用CSRF令牌将POST请求发送到views.py,然后重定向页面、HttpClient 不遵循重定向,Azure 函数队列触发器、IPython:将Python脚本的输出重定向到文件(如bash>)的相关知识,请在本站进行查询。

本文标签: