GVKun编程网logo

POST请求错误与node.js服务器一起抛出404并响应应用(post请求405)

13

本篇文章给大家谈谈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)

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

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请求参数解析

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错误区别

laravel报404错误与NGINX报404错误区别

 
nginx自己配置的404页面 和laravel配置的404页面;如果报了404 ;执行laravel的404页面; 那这个404页面对nginx来说意味着什么 
 
laravel 路由和页面找不到会报404; nginx是 木有这个地址报404;
 
根据你的nginx配置
如果请求的是静态文件,那么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请求

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请求等更多相关知识的信息可以在本站进行查询。

本文标签: