我有一个应用程序将一些数据提交到本地服务器,结果服务器将发回一个 JSON。说{状态:“成功”}
当我在我的 2.3 SDK 模拟器中运行该应用程序时它可以工作,但安装在 Galaxy Tab (2.2 SDK) 中时相同的响应是 html 的形式。
I/RESPONSE( 8190): <?xml version="1.0" encoding="utf-8"?>
I/RESPONSE( 8190): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
I/RESPONSE( 8190): "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
I/RESPONSE( 8190): <html>
I/RESPONSE( 8190): <head>
I/RESPONSE( 8190): <title>417 Expectation Failed</title>
I/RESPONSE( 8190): </head>
I/RESPONSE( 8190): <body>
I/RESPONSE( 8190): <h1>Error 417 Expectation Failed</h1>
I/RESPONSE( 8190): <p>Expectation Failed</p>
I/RESPONSE( 8190): <h3>Guru Meditation:</h3>
I/RESPONSE( 8190): <p>XID: 1902486816</p>
I/RESPONSE( 8190): <hr>
I/RESPONSE( 8190): <address>
I/RESPONSE( 8190): <a href="http://www.varnish-cache.org/">Varnish cache server</a>
I/RESPONSE( 8190): </address>
I/RESPONSE( 8190): </body>
I/RESPONSE( 8190): </html>
I/RESPONSE( 8190): <--
I/RESPONSE( 8190):
I/RESPONSE( 8190): <?xml version="1.0" encoding="utf-8"?>
I/RESPONSE( 8190): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
I/RESPONSE( 8190): "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
I/RESPONSE( 8190): <html>
I/RESPONSE( 8190): <head>
I/RESPONSE( 8190): <title>417 Expectation Failed</title>
I/RESPONSE( 8190): </head>
I/RESPONSE( 8190): <body>
I/RESPONSE( 8190): <h1>Error 417 Expectation Failed</h1>
I/RESPONSE( 8190): <p>Expectation Failed</p>
I/RESPONSE( 8190): <h3>Guru Meditation:</h3>
I/RESPONSE( 8190): <p>XID: 1902486816</p>
I/RESPONSE( 8190): <hr>
I/RESPONSE( 8190): <address>
I/RESPONSE( 8190): <a href="http://www.varnish-cache.org/">Varnish cache server</a>
I/RESPONSE( 8190): </address>
I/RESPONSE( 8190): </body>
I/RESPONSE( 8190): </html>
W/System.err( 8190): org.json.JSONException: A JSONObject text must begin with '{' at character 2 of
W/System.err( 8190): <?xml version="1.0" encoding="utf-8"?>
W/System.err( 8190): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
W/System.err( 8190): "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
W/System.err( 8190): <html>
W/System.err( 8190): <head>
W/System.err( 8190): <title>417 Expectation Failed</title>
W/System.err( 8190): </head>
W/System.err( 8190): <body>
W/System.err( 8190): <h1>Error 417 Expectation Failed</h1>
W/System.err( 8190): <p>Expectation Failed</p>
W/System.err( 8190): <h3>Guru Meditation:</h3>
W/System.err( 8190): <p>XID: 1902486816</p>
W/System.err( 8190): <hr>
W/System.err( 8190): <address>
W/System.err( 8190): <a href="http://www.varnish-cache.org/">Varnish cache server</a>
W/System.err( 8190): </address>
W/System.err( 8190): </body>
W/System.err( 8190): </html>
编辑: 请求发送:-
try {
HttpClient client = new DefaultHttpClient();
String postURL = GlobalCodes.getBaseurl();
HttpPost post = new HttpPost(postURL);
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("show",
"testpost"));
post.setEntity(new UrlEncodedFormEntity(params));
HttpResponse responsePOST = client.execute(post);
HttpEntity resEntity = responsePOST.getEntity();
String str2 = EntityUtils.toString(resEntity);
Log.i("RESPONSE", " <--");
if (resEntity != null) {
Log.i("RESPONSE","**");
JSONObject jsonObj = new JSONObject(str2);
if (jsonObj.getString("status").equalsIgnoreCase("succuss")) {
.....
} else {
......
}
}
} catch (Exception e) {
e.printStackTrace();
}
谁能告诉我哪里出了问题?
快乐编码......!
最佳答案
Galaxy Tab 必须向模拟器发送不同的 header 。尝试禁用 HttpPost 对象上的期望 header 。
httppost.getParams().setBooleanParameter( "http.protocol.expect-continue", false )
关于android - 来自服务器的 HTML 响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7762968/
我正在尝试使用ruby和Savon来使用网络服务。测试服务为http://www.webservicex.net/WS/WSDetails.aspx?WSID=9&CATID=2require'rubygems'require'savon'client=Savon::Client.new"http://www.webservicex.net/stockquote.asmx?WSDL"client.get_quotedo|soap|soap.body={:symbol=>"AAPL"}end返回SOAP异常。检查soap信封,在我看来soap请求没有正确的命名空间。任何人都可以建议我
我想安装一个带有一些身份验证的私有(private)Rubygem服务器。我希望能够使用公共(public)Ubuntu服务器托管内部gem。我读到了http://docs.rubygems.org/read/chapter/18.但是那个没有身份验证-如我所见。然后我读到了https://github.com/cwninja/geminabox.但是当我使用基本身份验证(他们在他们的Wiki中有)时,它会提示从我的服务器获取源。所以。如何制作带有身份验证的私有(private)Rubygem服务器?这是不可能的吗?谢谢。编辑:Geminabox问题。我尝试“捆绑”以安装新的gem..
我想将html转换为纯文本。不过,我不想只删除标签,我想智能地保留尽可能多的格式。为插入换行符标签,检测段落并格式化它们等。输入非常简单,通常是格式良好的html(不是整个文档,只是一堆内容,通常没有anchor或图像)。我可以将几个正则表达式放在一起,让我达到80%,但我认为可能有一些现有的解决方案更智能。 最佳答案 首先,不要尝试为此使用正则表达式。很有可能你会想出一个脆弱/脆弱的解决方案,它会随着HTML的变化而崩溃,或者很难管理和维护。您可以使用Nokogiri快速解析HTML并提取文本:require'nokogiri'h
在我的Controller中,我通过以下方式在我的index方法中支持HTML和JSON:respond_todo|format|format.htmlformat.json{renderjson:@user}end在浏览器中拉起它时,它会自然地以HTML呈现。但是,当我对/user资源进行内容类型为application/json的curl调用时(因为它是索引方法),我仍然将HTML作为响应。如何获取JSON作为响应?我还需要说明什么? 最佳答案 您应该将.json附加到请求的url,提供的格式在routes.rb的路径中定义。这
所以我在关注Railscast,我注意到在html.erb文件中,ruby代码有一个微弱的背景高亮效果,以区别于其他代码HTML文档。我知道Ryan使用TextMate。我正在使用SublimeText3。我怎样才能达到同样的效果?谢谢! 最佳答案 为SublimeText安装ERB包。假设您安装了SublimeText包管理器*,只需点击cmd+shift+P即可获得命令菜单,然后键入installpackage并选择PackageControl:InstallPackage获取包管理器菜单。在该菜单中,键入ERB并在看到包时选择
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
在Rails4.0.2中,我使用s3_direct_upload和aws-sdkgems直接为s3存储桶上传文件。在开发环境中它工作正常,但在生产环境中它会抛出如下错误,ActionView::Template::Error(noimplicitconversionofnilintoString)在View中,create_cv_url,:id=>"s3_uploader",:key=>"cv_uploads/{unique_id}/${filename}",:key_starts_with=>"cv_uploads/",:callback_param=>"cv[direct_uplo
我是Google云的新手,我正在尝试对其进行首次部署。我的第一个部署是RubyonRails项目。我基本上是在关注thisguideinthegoogleclouddocumentation.唯一的区别是我使用的是我自己的项目,而不是他们提供的“helloworld”项目。这是我的app.yaml文件runtime:customvm:trueentrypoint:bundleexecrackup-p8080-Eproductionconfig.ruresources:cpu:0.5memory_gb:1.3disk_size_gb:10当我转到我的项目目录并运行gcloudprevie
我正在使用Rails构建一个简单的聊天应用程序。当用户输入url时,我希望将其输出为html链接(即“url”)。我想知道在Ruby中是否有任何库或众所周知的方法可以做到这一点。如果没有,我有一些不错的正则表达式示例代码可以使用... 最佳答案 查看auto_linkRails提供的辅助方法。这会将所有URL和电子邮件地址变成可点击的链接(htmlanchor标记)。这是文档中的代码示例。auto_link("Gotohttp://www.rubyonrails.organdsayhellotodavid@loudthinking.
我想在Ruby中创建一个用于开发目的的极其简单的Web服务器(不,不想使用现成的解决方案)。代码如下:#!/usr/bin/rubyrequire'socket'server=TCPServer.new('127.0.0.1',8080)whileconnection=server.acceptheaders=[]length=0whileline=connection.getsheaders想法是从命令行运行这个脚本,提供另一个脚本,它将在其标准输入上获取请求,并在其标准输出上返回完整的响应。到目前为止一切顺利,但事实证明这真的很脆弱,因为它在第二个请求上中断并出现错误:/usr/b