我想将表单数据发送到服务器。我正在使用volly库来实现这一点,但下面的代码显示了以下错误。
意外响应代码405 com.Android截击服务器错误
我的代码是:
public class Wow extends AppCompatActivity {
private EditText editTextName;
private EditText editTextLocation;
private EditText editTextEmail;
private EditText editTextWebsite;
private Button buttonRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.data_sent_form);
editTextName = (EditText) findViewById(R.id.editTextname);
editTextLocation = (EditText) findViewById(R.id.editTextlocation);
editTextEmail = (EditText) findViewById(R.id.editTextEmail);
editTextWebsite = (EditText) findViewById(R.id.editTextwebsite);
buttonRegister = (Button) findViewById(R.id.buttonRegister);
buttonRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
suman();
}
});
}
void suman() {
final String name = editTextName.getText().toString().trim();
final String location = editTextLocation.getText().toString().trim();
final String email = editTextEmail.getText().toString().trim();
final String website = editTextWebsite.getText().toString().trim();
try
{
RequestQueue requestQueue = Volley.newRequestQueue(this);
String URL = "http://myeducationhunt.com/schools/create";
JSONObject jsonBody = new JSONObject();
jsonBody.put("name", name);
final String mRequestBody = jsonBody.toString();
StringRequest stringRequest = new StringRequest(Request.Method.POST, URL, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("VOLLEY", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("VOLLEY", error.toString());
}
}) {
@Override
public byte[] getBody() throws AuthFailureError {
try {
return mRequestBody == null ? null : mRequestBody.getBytes("utf-8");
} catch (UnsupportedEncodingException uee) {
VolleyLog.wtf("Unsupported Encoding while trying to get the bytes of %s using %s", mRequestBody, "utf-8");
return null;
}
}
};
requestQueue.add(stringRequest);
} catch (JSONException e) {
e.printStackTrace();
}
}
}
**logcat看起来像这样**
11-15 12:49:13.648 17579-19711/com.user.retrofit E/Volley: [254] BasicNetwork.performRequest: Unexpected response code 405 for http://myeducationhunt.com/schools/create
11-15 12:49:13.649 17579-17579/com.user.retrofit E/VOLLEY: com.android.volley.ServerError
从http://myeducationhunt.com/schools/create
至http://myeducationhunt.com/schools
。我认为您需要在服务器上编写RESTful api。当您将POST方法与http://myeducationhunt.com/schools
url,它将自动重定向到创建函数。
尝试使用GET方法而不是POST使用请求。方法。GET
而不是请求。方法。POST
通过更改请求GET FROM POST,我的错误将被删除。谢谢你宝贵的回答
每次我尝试用截击的POST方法时,我都会犯严重的错误。我在getCause中得到null值,在getNetworkResponse中得到一些默认值。toString()。 如果我使用GET方法,这工作正常(我从我的网址得到响应)。 有人能帮忙吗?我能做什么? 错误日志: 错误:错误:com.android.volley.服务器错误 更新:networkResponse。statusCode是404
我正在尝试创建一个用户登录页面,当我尝试注册时,我得到了这个错误。我想Json对象部分有问题。我尝试在论坛中搜索其他答案,但似乎都没有解决我的问题。请求你帮我解决这个问题。谢谢是提前的。 我的原木猫
问题内容: 我在使用排球库发出网络请求时遇到此错误,我遵循以下链接Android Volley- BasicNetwork.performRequest:意外的响应代码400和意外的响应代码404凌空,但在我的情况下它们都不起作用。这是我的请求代码 有谁能告诉我我的代码在哪里做错了?任何帮助都是可观的。 问题答案: 通常,此响应是由发送错误的URL参数引起的。请检查每个参数的拼写,并确保是否以字符
问题陈述: 我正在尝试访问一个REST API,它将使用Volley返回一个用于各种HTTP状态代码(400、403、200等)的JSON对象。
问题内容: Iam尝试对https URL进行身份验证,但Iam出现异常。下面是代码。 例外情况: 请任何人建议如何解决此问题。 问题答案: 401错误代码表示“未经授权”。我相信您的代码无法正确编码Authentication标头。假设服务器需要 基本访问身份验证, 则代码应如下所示: RFC 2617 中提供了HTTP基本和摘要身份验证方案的全面描述
我在jmeter V3中录制了脚本。3通过IE浏览器,然后进行关联。当我运行这个脚本时,它会收到内部服务器错误500的响应,但是它在IE浏览器中手动工作正常,而且在记录这个场景时,它不会发生。 我还在网络IE F12开发者工具中交叉验证了头管理器和请求头,它是最新的。 取样器请求 获取请求 它只是一个简单的获取请求。非常感谢您在jmeter中帮助处理此错误。