对于想了解Python遵循重定向,然后下载页面?的读者,本文将是一篇不可错过的文章,我们将详细介绍python遵循重定向,然后下载页面怎么办,并且为您提供关于301重定向,首页和内页都实现重定向、Dj
对于想了解Python遵循重定向,然后下载页面?的读者,本文将是一篇不可错过的文章,我们将详细介绍python遵循重定向,然后下载页面怎么办,并且为您提供关于301重定向,首页和内页都实现重定向、Django使用CSRF令牌将POST请求发送到views.py,然后重定向页面、HttpClient 不遵循重定向,Azure 函数队列触发器、IPython:将Python脚本的输出重定向到文件(如bash>)的有价值信息。
本文目录一览:- Python遵循重定向,然后下载页面?(python遵循重定向,然后下载页面怎么办)
- 301重定向,首页和内页都实现重定向
- Django使用CSRF令牌将POST请求发送到views.py,然后重定向页面
- HttpClient 不遵循重定向,Azure 函数队列触发器
- IPython:将Python脚本的输出重定向到文件(如bash>)
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重定向是无疑是必然之选,但很多人都发现,一般在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,然后重定向页面
我通过使用带有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 函数队列触发器?
我有一个 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脚本。我想将输出重定向(写入)到文件,类似于:
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>)的相关知识,请在本站进行查询。
本文标签: