在iOS(当前目标5.0,Base SDK 5.1)中,如何向服务器发送发布请求,然后读取页面内容.例如,页面采用用户名和密码,然后回显true或false.这只是为了更好地理解NSURLRequest.
提前致谢!
我正在尝试修改使用Google Chrome开发人员工具捕获的卷曲请求.
这是命令的样子
curl "http://WEBSITE" -H "Host: WEBSITE" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" --compressed -H "Content-Type: multipart/form-data; boundary=---------------------------1184875127259" --data-binary "-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""FORM1"""^
"FORM1DATA"^
"-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""FORM2"""^
"FORM2DATA"^
"-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""FORM3"""^
"FORM3DATA"^
"-----------------------------1184875127259"^
"Content-Disposition: form-data; name=""embed"""^
"true"^
"---------------------------1184875127259--"^
""
Run Code Online (Sandbox Code Playgroud)
Form#是表单的名称,Form#Data是我在表单中提交的数据.
我怎样才能将这个单线卷曲请求复制到我的命令行中并让它与我的浏览器做同样的事情?
我使用php和laravel作为我的网络服务.
我想知道在这些情况下laravel存储和处理请求吗?
laravel是否按请求到达的顺序将这些请求存储在队列中?
laravel是否为不同用户并行处理请求,并按顺序为同一用户?
例如,用户有两个请求.这两个请求路由到同一控制器中的两个方法.虽然第一个请求将花费很长时间进行服务器端处理,但第二个请求将花费很少的时间.当用户设置第一个请求然后设置第二个请求时,尽管第二个请求花费很少的时间,服务器端将不会处理第二个请求,直到它完成处理第一个请求为止.
所以我想知道laravel如何存储和处理请求?
所以,我有这个代码用volley发出一个POST请求:
public class MainActivity extends AppCompatActivity {
Button btnSearch;
ProgressDialog loadingDialog;
ListView lvResult;
String session_id;
RequestQueue queue;
MyCookieManager myCookieManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnSearch = (Button) findViewById(R.id.btnSearch);
lvResult = (ListView) findViewById(R.id.lvResult);
loadingDialog = new ProgressDialog(MainActivity.this);
loadingDialog.setMessage("Wait.\nLoading...");
loadingDialog.setCancelable(false);
myCookieManager = new MyCookieManager();
requestCookie(); //FIRST CALL TO GET SESSION ID
btnSearch.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showLoading();
requestWithSomeHttpHeaders(); //CALL TO MAKE THE REQUEST WITH VALID SESSION ID
}
});
}
public void requestCookie() {
queue …Run Code Online (Sandbox Code Playgroud) 当我从HttpPost使用setHeader设置"Authorization"标头时,主机名从请求中消失,并且总是返回错误400(错误请求).相同的代码在纯java(没有android)上工作正常,当我在android上删除设置"Authorization"标题时,它工作正常,但我需要授权.这是一个代码(域已更改):
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://myhost.com/test.php");
post.setHeader("Accept", "application/json");
post.setHeader("User-Agent", "Apache-HttpClient/4.1 (java 1.5)");
post.setHeader("Host", "myhost.com");
post.setHeader("Authorization",getB64Auth());
List <NameValuePair> nvps = new ArrayList <NameValuePair>();
nvps.add(new BasicNameValuePair("data[body]", "test"));
AbstractHttpEntity ent=new UrlEncodedFormEntity(nvps, HTTP.UTF_8);
ent.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
ent.setContentEncoding("UTF-8");
post.setEntity(ent);
post.setURI(new URI("http://myhost.com/test.php"));
HttpResponse response =client.execute(post);
Run Code Online (Sandbox Code Playgroud)
方法getB64Auth()返回使用Base64编码的"login:password",如:"YnxpcYRlc3RwMTulHGhlSGs =",但这并不重要.
当在纯java上调用上面的代码时,这是一个lighttpd的error.log:
2011-02-23 15:37:36: (request.c.304) fd: 8 request-len: 308
POST /test.php HTTP/1.1
Accept: application/json
User-Agent: Apache-HttpClient/4.1 (java 1.5)
Host: myhost.com
Authorization: Basic YnxpcYRlc3RwMTulHGhlSGs=
Content-Length: 21
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
Content-Encoding: UTF-8
Connection: Keep-Alive
HTTP/1.1 200 OK
Content-type: …Run Code Online (Sandbox Code Playgroud) 我有Ubuntu 10.10与apache2,php 5.3.3-1和mysql 5.1.
我将一些值传递给url中的页面.在那个页面上,如果我执行print_r($ _ GET),我会看到数组内容,但如果我执行print_r($ _ REQUEST),则数组为空.这可能是什么想法?
谢谢.
是否有一个Ruby http客户端库,其中响应由ETag自动缓存,If-Non-Match标头应用于以前使用的URL上的请求?
这个属性是可欺骗的,还是100%值得信赖的?
我想确定一个请求只来自我的盒子.我必须添加这句话,因为我不能提出简单的问题.
我正在使用rspec请求来测试需要在每个请求的标头中使用api-key的JSON API.
我知道我可以这样做:
get "/v1/users/janedoe.json", {}, { 'HTTP_AUTHORIZATION'=>"Token token=\"mytoken\"" }
Run Code Online (Sandbox Code Playgroud)
但是,对每个请求执行此操作都很繁琐.
我已经尝试request.env在前面的块中设置,但是我得到了no method NilClass error自从请求不存在.
我需要一些方法,也许在这里spec-helper,全局获取与所有请求一起发送的标头.
现在我们的应用程序将nodejs.org的源代码写入控制台.我们希望它能编写nodejs.org的所有超链接.也许我们只需要一行代码来获取链接body.
app.js:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
var request = require("request");
request("http://nodejs.org/", function (error, response, body) {
if (!error)
console.log(body);
else
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)