Articles of http post

从Android中的互联网链接获取数据

我正在创建一个带有URL的应用程序。 * .asp扩展名,我们传递所需的参数,并使用POST方法获得一些字符串结果。 有关如何实现这一目标的任何建议? 更新: 实际上我有一个.net链接,它接受一些POST参数并给我一个结果。 我怎么能在Android中这样做?

改造@Body在HTTP请求中显示为参数

我之前已成功使用Square的Retrofit进行@GET Web API调用,但是当尝试在@POST调用中将@BODY作为@BODY发送时,在服务器(Rails)上,JSON显示为参数而不是正文请求。 我的理解是@BODY会将该方法参数添加到正文中的请求中。 知道我做错了什么吗? WebApi : @POST(“/api/v1/gear/scans.json”) Response postScans( @Header(HEADER_AUTH) String token, @Body JsonObject scans ); 提出网络请求: RestAdapter restAdapter = new RestAdapter.Builder() .setServer(api_url) .build(); WebApi webApi = restAdapter.create(AssetsWebApi.class); Response response = webApi.postScans(auth_token, valid_json);

Android HttpPost消息不会通过网络发送其有效负载

我正在尝试发送一个简单的字符串作为HttpPost消息的内容。 问题是,HttpPost消息的主体永远不会成为线路。 (说Wireshark捕获)。 标题看起来很好(包括正确计算的Content-Length。 这是代码的样子: String url = “http://1.2.3.4/resource”; HttpClient client = new DefaultHttpClient(); String cmd = “AT+AVLPOS\r\n”; StringEntity se = new StringEntity(cmd); se.setContentType(“text/plain”); HttpPost request = new HttpPost(url); request.setHeader(“Content-Type”,”text/plain”); request.setEntity(se); HttpResponse response = client.execute(request); […] 字符串应该是ASCII编码的,但这是一个细节。 这是WireShark中显示的内容: – >请注意,标有+的行是发送的内容,而 – 是收到的内容。 +POST /resource HTTP/1.1 +Content-Type: text/plain +Content-Length: 11 +Host: 1.2.3.4 +Connection: Keep-Alive +User-Agent: Apache-HttpClient/UNAVAILABLE […]

使用POST android发送php数组

我想通过POST从android发送到php服务器的PHP数组,我有这个代码 HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(url); StringEntity dades = new StringEntity(data); httppost.setEntity(dades); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); HttpEntity resEntity = response.getEntity(); return resEntity.getContent(); 我认为php数组可能会进入StringEntity dades = new StringEntity(data); (数据是php数组)。 谁能帮我?

HttpPost的HttpClient执行在Android 3.2上显着慢于2.3.3

任何人都知道为什么下面的代码在Android 3.2(三星Galaxy 10.1“Tab)上比在2.3.3(摩托罗拉Droid X)上运行慢4倍? 在Android 2.3.3上, client.execute()调用平均需要350毫秒 。 3.2以下平均需要1400毫秒 。 此外,无论是在UI线程还是后台线程中运行,结果都是相同的。 这是操作系统错误还是硬件问题? 或者我在代码中没有做正确的事情? 不幸的是我不能让ADB连接到我的3.2虚拟设备,所以我不能排除硬件问题,但我的直觉告诉我这是一个Honeycomb问题。 HttpResponse resp = null; HttpParams params = new BasicHttpParams(); params.setParameter(CoreProtocolPNames.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); HttpClient client = new DefaultHttpClient(params); ArrayList postParms = new ArrayList(); postParms.add(new BasicNameValuePair(“name”, “test”)) try { HttpPost hp = new HttpPost(“http://myserver/path/method”); UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParms); hp.setEntity(formEntity); Long start = SystemClock.elapsedRealtime(); […]

如何将Java HttpPost对象显示为字符串?

我在Android中创建一个HttpPost对象,以便与客户端运行的服务器进行通信。 不幸的是,服务器没有向我们提供非常有用的错误消息; 我想将HttpPost对象的内容看作一个字符串,这样我就可以将它发送给我们的客户端,他可以将它与他期望的内容进行比较。 如何将HttpPost对象转换为一个字符串,反映它到达服务器时的外观?

首次HTTP POST和GET尝试总是很慢 – 这个操作系统是相关的还是网络?

我现在刚刚开始在HTTP中弄湿我的脚。 我一直使用GET和POST计算简单的HTTP请求。 我使用的网页是3行php检查正确的$ _GET []和$ _POST []然后只是回显字符“1”。 我使用POST和GET使用相同的单个短名称/值对,希望不需要数据包碎片来解决问题,所有这些都是在一个脱离UI线程的线程上完成的。 在计时时,请求会在手机上多次循环。 一切顺利。 (见下面的代码)也就是说,我得到了“1”的回复。 但是存在持续的时间问题。 我观察到的是: 在第一次尝试中,发出请求的时间比GET和POST方法中的后续trys要长得多。 其余的尝试总是快得多。 GET总是比POST快。 所有这些都适用于3G和Wifi连接(但是Wifi的整体速度要快得多)。 我已经尝试使用BasicResponseHandler(),并使用更多手动缓冲IO流方法,结果相同。 我相信我理解3.因为POST需要两个传输,一个用于’HTTP 100’然后返回数据包主体。 – 它是否正确? 我的主要问题是第一次请求尝试中发生的事情是如此之慢? 有时需要几秒钟(!)。 是网络是什么东西或Android将它放入创建某种队列的套接字? 如果是Android,有没有办法更正确地编码并避免这种情况? 是否有关于保持套接字打开以使其在执行期间只出现一次的问题? 如果是这样,这样做是好的做法吗? 不可否认,这个方法我最无能为力。 我已经find了一些关于此的讨论,但没有一个直接达到这个方面。 – GET和POST方法的基本代码如下所示(减去try / catches),并在UI的线程中执行,首先是GET方法然后是POST方法:(下面的输出) 获取部分内容: public String[] HTTPGETIt(int numrounds) { HttpClient httpclient = new DefaultHttpClient(); httpclient.getParams().setParameter (CoreProtocolPNames.PROTOCOL_VERSION,HttpVersion.HTTP_1_1); HttpGet GETRequest = new HttpGet(“http://mypage.com/epoch.php?mynameis=tam”); ResponseHandler MyBRH = […]

如何向服务器发送HTTP POST请求请求

您好我在点击显示日期选择器对话框和时间选择器对话框中使用两个按钮。 我有一个旋转器。 我想将用户输入值发送到php服务器。 我该怎么做客户端代码? 这是我的代码: public class DineOutActivity extends Activity { private TextView mDateDisplay; private Button mPickDate; private int mYear; private int mMonth; private int mDay; /******************time picker**************/ private TextView mTimeDisplay; private Button mPickTime; private int mHour; private int mMinute; private int mAmPm; static final int TIME_DIALOG_ID=1; static final int DATE_DIALOG_ID = 0; @Override public […]

使用intent和post参数启动默认浏览器

可能重复: 如何用指定的POST参数打开android浏览器? 我想做这样的事情: startActivity(new Intent(Intent.ACTION_VIEW,Uri.parse(“ http://www.somepage.com?par1=val1&par2=val2 ”)); 但我不想发送参数与get但是发帖。 我怎么能这样做? 非常感谢纳瓦霍人

HttpHostConnectException:连接拒绝Android

我试图通过HttpPost连接并发送用户名和密码到网站,然后从该网站收到一个字符串。 我已经尝试了过去对我有用的各种方法,但现在当我发送用户名和密码标识符时,应用程序超时4分钟,然后吐出以下exception: 07-16 16:32:32.897: W/System.err(632): Unable to connect to the server 07-16 16:32:32.907: W/System.err(632): org.apache.http.conn.HttpHostConnectException: Connection to http://devdashboard.company refused 07-16 16:32:32.917: W/System.err(632): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:183) 07-16 16:32:32.917: W/System.err(632): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 07-16 16:32:32.917: W/System.err(632): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 07-16 16:32:32.917: W/System.err(632): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) 07-16 16:32:32.917: W/System.err(632): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 07-16 16:32:32.917: W/System.err(632): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 07-16 16:32:32.927: W/System.err(632): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 07-16 […]