我正在测试将PhantomJS服务器与Python的请求库一起使用的方法。
GET和POST请求按预期方式工作,我可以让PhantomJS服务器请求我想要的任何页面并将结果放入控制台,但是我不知道如何使用response.write(page.content)
发送页面内容。请求对象没有text
,content
或可用的raw
内容。使response.write()
正常工作的唯一方法是对响应内容进行硬编码。如果将keep-alive
添加到true
,则请求功能将挂起。
这是我的server.js
var webserver = require('webserver').create();
page = require('webpage').create();
var service = webserver.listen(8080, function(request, response) {
if (request.method == 'POST') {
console.log(request.post);
var content = '';
page.open(request.post, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
response.statusCode = 200;
response.write('Page not responding.');
} else {
content = page.content;
response.statusCode = 200;
response.write(content);
}
})
} else {
response.statusCode = 200;
console.log(request.method == 'GET' );
response.write('No URL provided');
}
response.closeGracefully();
});
Python代码很简单:
import requests
response = requests.post('http://127.0.0.1:8080, data='http://python.org')
参考方案
发送回数据后,需要关闭连接:response.close();
另外我建议在POST请求中使用一个变量,因为response.post
实际上是一个对象。
var webserver = require('webserver').create();
page = require('webpage').create();
var service = webserver.listen(8080, function(request, response) {
if (request.method == 'POST') {
var url = request.post.url;
console.log(url);
var content = '';
page.open(url, function (status) {
if (status !== 'success') {
console.log('FAIL to load the address');
response.statusCode = 200;
response.write('Page not responding.');
response.close();
} else {
content = page.content;
response.statusCode = 200;
response.write(content);
response.close();
}
})
} else {
response.statusCode = 200;
console.log(request.method == 'GET' );
response.write('No URL provided');
respone.close();
}
});
然后使用url变量POST:
import requests
response = requests.post('http://127.0.0.1:8080, data = {'url':'http://python.org'})
如果我得到url(''),我该如何使用另一个URL - javascript我是新手,正在写这篇文章,但是如果源上没有图像,那么我只有空白。有人可以告诉我,如果我正在获取背景图像,如何获取/images/no-image.jpg:url();这是我的代码:<div class="uk-clearfix uk-position-relative"> <div class="recipeb…
Javascript vs python:具有两个递归分支的函数的不同输出 - javascript我一直在将python代码毫无问题地翻译成javascript,但对于以下示例,我却没有这样做,也不知道是什么原因。尽管有相似的代码,但是javascript代码似乎产生了与python完全不同的输出。我已经研究了这个问题,并且似乎javascript无法执行第二个递归分支?谁知道我该如何使javascript代码输出与python相似的代码?谢谢1- Py…
在返回'Response'(Python)中传递多个参数 - python我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…
在Django视图中渲染URL变量 - javascript我试图在URL中传递一个id,它是在js中创建的,我需要在渲染中传递它,以便可以在新页面的jQuery中使用它。这可能吗?JSresults ="'results/"+this.pk+"'"; 网址url(r'^personnel/results/(\d*)/$', '…
将第三方网站的POST表单数据发送到Django - javascript我正在托管一个Django网站,该网站存储有关用户的信息。但是,我想在第三方网站上托管表格,例如订阅电子报。我希望能够从URL中的查询集中获取信息并将其发布回我的Django网站。我有一个小脚本,可抓取queryset信息并将其放入表单上的隐藏字段中,然后发布该数据。但是,目前这是在我的网站上完成的。如果我要在其他人的网站上托管该表格,那么最好的处理方式是什…