本篇文章给大家谈谈POST请求错误与node.js服务器一起抛出404并响应应用,以及post请求405的知识点,同时本文还将给你拓展file_get_contents抛出400错误的请求错误PHP、
本篇文章给大家谈谈POST请求错误与node.js服务器一起抛出404并响应应用,以及post请求405的知识点,同时本文还将给你拓展file_get_contents抛出400错误的请求错误PHP、http.request请求及在node中post请求参数解析、laravel报404错误与NGINX报404错误区别、Node.js GET/POST请求等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:- POST请求错误与node.js服务器一起抛出404并响应应用(post请求405)
- file_get_contents抛出400错误的请求错误PHP
- http.request请求及在node中post请求参数解析
- laravel报404错误与NGINX报404错误区别
- Node.js GET/POST请求
POST请求错误与node.js服务器一起抛出404并响应应用(post请求405)
我认为您缺少这两件事:-
您是否已在我们的应用程序中添加了body解析器? (包含在请求正文中提交的键-值数据对。默认情况下,它是未定义的,并且在使用诸如body-parser之类的正文分析中间件时填充)。
const app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: true })); // for parsing application/x-www-form-urlencoded
我还注意到您的Signin.js组件(检查密码的拼写)
onSubmitSignIn = () => {
fetch('http://localhost:3001/signin',{
method: 'post',headers: {'Content-Type': 'application/json'},body: JSON.stringify({
email: this.state.signInEmail,passworrd: this.state.signInPassword // it should be password not passworrd
})
})
this.props.onRouteChange('home');
}
file_get_contents抛出400错误的请求错误PHP
我只是使用a file_get_contents()
从这样的用户那里获取最新的tweet:
$tweet = json_decode(file_get_contents(''http://api.twitter.com/1/statuses/user_timeline/User.json''));
这在我的本地主机上运行良好,但是当我将其上传到服务器时会引发以下错误:
警告:
file_get_contents(http://api.twitter.com/1/statuses/user_timeline/User.json)[function.file-
get-contents]:无法打开流:HTTP请求失败!HTTP / 1.0 400错误的请求…
不知道是什么原因引起的,也许是我需要在服务器上设置的php配置?
提前致谢!
答案1
小编典典您可能想尝试使用curl而不是file_get_contents来检索数据。curl对错误处理有更好的支持:
// make request$ch = curl_init();curl_setopt($ch, CURLOPT_URL, "http://api.twitter.com/1/statuses/user_timeline/User.json"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($ch);// convert response$output = json_decode($output);// handle error; error outputif(curl_getinfo($ch, CURLINFO_HTTP_CODE) !== 200) { var_dump($output);}curl_close($ch);
这可以使您更好地了解为什么收到此错误。一个常见的错误是达到服务器上的速率限制。
http.request请求及在node中post请求参数解析
Post请求
var http=require(''http'');
var qs=require(''querystring'');
var post_data={a:123,time:new Date().getTime()};//这是需要提交的数据
var content=qs.stringify(post_data);
var options = {
host: ''127.0.0.1'',
port: 8080,
path: ''/admin'',
method: ''POST'',
headers:{
''Content-Type'':''application/x-www-form-urlencoded'',//post请求需要设置的type值
''Content-Length'':content.length
}
};
console.log("post options:\n",options);
console.log("content:",content);
console.log("\n");
var a=''''
var req = http.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
var _data='''';
res.on(''data'', function(chunk){
_data += chunk;
a=chunk;
});
res.on(''end'', function(){
console.log("\n--->>\nresult:",_data)
});
});
req.write(content);
req.end();
http.createServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
response.writeHead(200, {''Content-Type'': ''text/plain''});
response.write(a)
// 发送响应数据 "Hello World"
response.end(''Hello World\n'');
}).listen(8888);
在服务中解析Post请求参数
var express=require(''express'');
var app=express();
var bodyParser = require("body-parser");
app.use(bodyParser.urlencoded({ extended: false }));
app.post(''/admin'',(req,res)=>{
console.log(req)
var data={
code:200,
msg:''success''
}
res.json(data);
})
app.listen(8080,()=>{
console.log(8080)
})
laravel报404错误与NGINX报404错误区别
如果请求的是静态文件,那么nginx会去找,文件不存在时,nginx会返回404,这个404就是nginx报的。
如果请求的一个路径,根据你的配置,会转发给laravel的index. php,index. php是存在的,所以nginx不会报404。但是这个路径如果在laravel中没找到对应的路由,那么laravel就会显示404,这个404就是laravel的。
本文同步分享在 博客“lxw1844912514”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
Node.js GET/POST请求
Node.js GET/POST请求
在很多场景中,我们的服务器都需要跟用户的浏览器打交道,如表单提交。
表单提交到服务器一般都使用 GET/POST 请求。
获取GET请求内容
由于GET请求直接被嵌入在路径中,URL是完整的请求路径,包括了?后面的部分,因此你可以手动解析后面的内容作为GET请求的参数。
node.js 中 url 模块中的 parse 函数提供了这个功能。
平时默认的就是get请求:
var http = require(‘http‘); var url = require(‘url‘); var util = require(‘util‘); http.createServer(function(req,res){ res.writeHead(200,{‘Content-Type‘: ‘text/plain; charset=utf-8‘}); res.end(util.inspect(url.parse(req.url,true))); }).listen(3000);
浏览器输入:http://localhost:3000/user?name=菜鸟教程&url=www.runoob.com
获取 URL 的参数
我们可以使用 url.parse 方法来解析 URL 中的参数,代码如下:
var http = require(‘http‘); var url = require(‘url‘); var util = require(‘util‘); http.createServer(function(req,{‘Content-Type‘: ‘text/plain‘}); // 解析 url 参数 var params = url.parse(req.url,true).query; res.write("网站名:" + params.name); res.write("\n"); res.write("网站 URL:" + params.url); res.end(); }).listen(3000);
获取 POST 请求内容
POST 请求的内容全部的都在请求体中,http.ServerRequest 并没有一个属性内容为请求体,原因是等待请求体传输可能是一件耗时的工作。
比如上传文件,而很多时候我们可能并不需要理会请求体的内容,恶意的POST请求会大大消耗服务器的资源,所以 node.js 默认是不会解析请求体的,当你需要的时候,需要手动来做。
var http = require(‘http‘); var querystring = require(‘querystring‘); var postHTML = ‘<html><head><Meta charset="utf-8"><title>菜鸟教程 Node.js 实例</title></head>‘ + ‘<body>‘ + ‘<form method="post">‘ + ‘网站名: <input name="name"><br>‘ + ‘网站 URL: <input name="url"><br>‘ + ‘<input type="submit">‘ + ‘</form>‘ + ‘</body></html>‘; http.createServer(function (req,res) { var body = ""; req.on(‘data‘,function (chunk) { body += chunk; }); req.on(‘end‘,function () { // 解析参数 body = querystring.parse(body); // 设置响应头部信息及编码 res.writeHead(200,{‘Content-Type‘: ‘text/html; charset=utf8‘}); if(body.name && body.url) { // 输出提交的数据 res.write("网站名:" + body.name); res.write("<br>"); res.write("网站 URL:" + body.url); } else { // 输出表单 res.write(postHTML); } res.end(); }); }).listen(3000);
摘自:http://www.runoob.com/nodejs/node-js-get-post.html
今天关于POST请求错误与node.js服务器一起抛出404并响应应用和post请求405的介绍到此结束,谢谢您的阅读,有关file_get_contents抛出400错误的请求错误PHP、http.request请求及在node中post请求参数解析、laravel报404错误与NGINX报404错误区别、Node.js GET/POST请求等更多相关知识的信息可以在本站进行查询。
本文标签: