我只是尝试使用以下代码将数据发布到谷歌,但总是有405错误,有人可以告诉我吗?
package com.tom.labs;
import java.net.*;
import java.io.*;
public class JavaHttp {
public static void main(String[] args) throws Exception {
File data = new File("D:\\in.txt");
File result = new File("D:\\out.txt");
FileOutputStream out = new FileOutputStream(result);
OutputStreamWriter writer = new OutputStreamWriter(out);
Reader reader = new InputStreamReader(new FileInputStream(data));
postData(reader,new URL("http://google.com"),writer);//Not working
//postData(reader,new URL("http://google.com/search"),writer);//Not working
sendGetRequest("http://google.com/search", "q=Hello");//Works properly
}
public static String sendGetRequest(String endpoint,
String requestParameters) {
String result = null;
if (endpoint.startsWith("http://")) {
// Send a GET request to the servlet
try { …Run Code Online (Sandbox Code Playgroud) 截至目前,Web api应用程序返回以下响应正文405 - Method Not Allowed错误.我试图更改响应体,但我不知道如何使用委托处理程序,ApiControllerActionSelector或过滤器.任何人都可以帮助我捕获服务器端的405错误?
{
message: "The requested resource does not support http method 'GET'."
}
注意:我的api控制器具有[RoutePrefix]值.
我正在使用paperclip gem将文件上传到数据库.当我选择要上传的文件并去创建它时,下一页应该重定向到根路径.相反,我在浏览器中收到"Method Not Allowed".我打开开发工具,控制台说:无法加载资源:服务器响应状态为405(方法不允许)我的日志如下所示:
Started POST "/assets" for ::1 at 2015-08-20 10:41:11 -0400
Run Code Online (Sandbox Code Playgroud)
并一直挂钩,直到我回到另一页.
这是我的控制器
class AssetsController < ApplicationController
# before_filter :authenticate_user!
def index
@assets = current_user.assets
end
def show
@asset = current_user.assets.find(params[:id])
end
def new
@asset = current_user.assets.build
end
def create
@asset = current_user.assets.build(asset_params)
if @asset.save
flash[:success] = "The file was uploaded!"
redirect_to root_path
else
render 'new'
end
end
def edit
@asset = current_user.assets.find(params[:id])
end
def update
@asset = current_user.assets.find(params[:id])
end
def destroy
@asset = current_user.assets.find(params[:id])
end
private
def …Run Code Online (Sandbox Code Playgroud) 我正在运行一个小型网络应用程序,它应该允许以下卷曲:
curl -I http://localhost:5000/yield
Run Code Online (Sandbox Code Playgroud)
但它给了我这个 405 响应:
这是否意味着我的网络应用程序不允许此方法或服务器不允许它,我该如何解决这个问题?我使用的是 Windows 2019 Server。
所以这是我写的一个简单的观点.
class PostTestView(View):
def post(self, request, *args, **kwargs):
print request.POST
return HttpResponse("Hello there")
Run Code Online (Sandbox Code Playgroud)
我urls.py对以上观点有这一行:
url(r'^test/create$',PostTestView.as_view(), name='app.views.create_test')
Run Code Online (Sandbox Code Playgroud)
但是405 Http error当我试图击中时,我得到了一个http://127.0.0.1:8000/app/test/create
这显然意味着我的方法post不在定义的方法列表中.但我在我看来已将其定义如上.这可能有什么问题?我很无能为力
python django post http-status-code-405 django-class-based-views
当我从网址获得请求时,如下所示:
$http({
method: 'GET',
url:'http://mooc-lms.dev.web.nd/v0.3/users/login'
}).success(function(data, status, headers, config) {
//code
});
但我得到的错误是:
GET http://mooc-lms.dev.web.nd/v0.3/users/login 405 (Method Not Allowed)
但是,如果我将方法从"GET"更改为"POST",则错误为:
POST http://mooc-lms.dev.web.nd/v0.3/users/login 415 (Unsupported Media Type)
问题是什么?网址是否有问题(http://mooc-lms.dev.web.nd/v0.3/users/login)?我在网址中找到"消息":"请求方法'GET'不支持".
我在 Chrome 上有 CORS 扩展并且 GET 请求工作正常但 POST 请求没有。我收到错误“方法不允许”,但由于我有 CORS 扩展,根据文档,POST 请求应该可以工作。
我尝试使用另一个主题中提到的可选标头,但错误仍然存在。
我使用这个代码:
send(id){
let list = JSON.stringify(this.array)
this.http.post(this.url + this.id, list)
.subscribe(),
error => console.log("Error: ", error)
)
}
Run Code Online (Sandbox Code Playgroud)
浏览器控制台中的错误消息是:
消息:http://localhost:4000/ 的Http 失败响应...
名称:“HttpErrorResponse”
ok:false
status:405
statusText:“Method Not Allowed”