Я отправляю данные с android на страницу Generic handler .ashx в asp.net, используя http post. Но обработчик не может получить данные. Вещь работает с HttpGet, но не с HttpPostHTTP-запрос отправлен от android to ashx в asp.net. не может получать данные
андроида код
package com.postApp;
/*
* HTTP POST and BasicNameValuePair
* */
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class postAct extends Activity {
/** Called when the activity is first created. */
class login{
public
String uname;
public String pass;
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
login l=new login();
HttpClient client1 = new DefaultHttpClient();
HttpPost request = new HttpPost("http://10.0.2.2:18089/POC_login/Handler.ashx");
l.uname="piyush";
l.pass="gupta";
List<NameValuePair> postParameters = new ArrayList<NameValuePair>(3);
postParameters.add(new BasicNameValuePair("uname", l.uname));
postParameters.add(new BasicNameValuePair("pass", l.pass));
try {
request.setEntity(new UrlEncodedFormEntity(postParameters));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
HttpResponse response;
response = client1.execute(request);
BufferedReader in = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
String line;
String page="";
line = in.readLine();
while(line!=null)
{
page=page+line;
line=in.readLine();
}
TextView tv = (TextView) findViewById(R.id.textview);
tv.setText(page);
in.close();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
ASHX код
<%@ WebHandler Language="C#" Class="Handler" %>
using System;
using System.Web;
using System.Linq;
public class Handler : IHttpHandler {
public void ProcessRequest (HttpContext context)
{
context.Request.ContentType = "text/plain";
// context.Request.ContentType = "text/html";
string username=context.Request.QueryString["uname"];
string password = context.Request.QueryString["pass"];
context.Response.Write("Hello Piyush");
NorthwindDataContext db = new NorthwindDataContext();
var found = (from p in db.Catergories
where p.cat_ID == 1
select p.cat_name).SingleOrDefault();
}
public bool IsReusable {
get {
return false;
}
}
}
Пожалуйста, помогите!
Вы получаете ошибку? Что такое код статуса возврата? Я бы рекомендовал добавить в код некоторые отладочные инструкции, чтобы выяснить, что происходит. – dbryson
Спасибо за ваш вопрос, я изучаю, как обрабатывать почтовый запрос в Интернете, работает ли он под этим кодом? 'context.Request.QueryString [" поставщик_имя "];' я изменил на 'context.Request.Form [" поставщик_имя "];' – Megamind