Articles of http headers

如何向HttpClient请求添加请求标头?

我需要添加非标准请求标头,其格式如下:(X-MMP-Params:fs = 640×0)。 我在这里使用HTTPClient是代码: HttpClient client = new DefaultHttpClient(); String getURL = “http://example.com”; HttpGet get = new HttpGet(getURL); get.setHeader(“X-MMP-Params”,”fs=640×0″); // I set my request header right here HttpResponse responseGet = client.execute(get); 这是正确的方法吗?

@在HTTPPost请求中转换为%40

我试图发送邮件请求到webservice ..当我在参数中添加特殊字符@它被转换为%40.i已检查服务器端..他们正在获得%40而不是@。 谁能帮我?? 这是我的代码.. httpclient = new DefaultHttpClient(); List nameValuePairs = new ArrayList(); nameValuePairs.add(new BasicNameValuePair(“Email”, “abc@gmail.com”)); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); ResponseHandler responseHandler = new BasicResponseHandler(); String response = httpclient.execute(httppost,responseHandler); 我也尝试过这种方法来防止我的参数编码。 httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs, HTTP.PLAIN_TEXT_TYPE)); 但它提出了不受支持的编码算法 请帮我解决这个问题。

无法将PDF文件作为二进制数据获取

我正在尝试从以下位置获取PDF文件: url: https:// domain_name / xyz / _id / download / 其中它不指向直接pdf文件,并且下载每个唯一文件来解释特定的字段。 我把这个链接放在浏览器的地址栏中,并立即下载Pdf文件,而当我尝试通过HTTPsURLConnection获取它时,它的Content-Type是’text / html’forms,而它应该在’application / pdf’中。 在连接之前我还尝试’setRequestProperty’为’application / pdf’,但文件总是以’text / html’forms下载。 我用它的方法是’GET’ 1)我是否需要使用HttpClient而不是HttpsURLConnection? 2)这些types的链接是否用于增加安全性? 3)请指出我的错误。 4)我怎么知道服务器上的文件名? 我粘贴在我实施的主要代码之下: URL url = new URL(sb.toString()); //created new connection HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection(); //have set the request method and property urlConnection.setRequestMethod(“GET”); urlConnection.setDoOutput(true); urlConnection.setRequestProperty(“Content-Type”, “application/pdf”); Log.e(“Content Type—>”, urlConnection.getContentType()+” […]

使用浏览器意图时传递标题

我想在打开网页时传递一些标题。 现在,我正在做类似的事情: browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(data.link)); startActivity(browserIntent browserIntent = new Intent(Intent.ACTION_VIEW,Uri.parse(data.link)); startActivity(browserIntent ); 现在我卡住了,因为我不知道如何使用browserIntent传递标头。 我尝试过使用browserIntent.putExtra()但它不起作用。 谁能请帮忙。!!

如何在webView的url中发送referer请求

我需要在我的Android应用程序中显示一个网页,该网页正在寻找绕过安全性的引用者。 我是Android的新手,所以我知道如何在网页视图中显示网页,但不知道如何发送’referer’以及url请求。 我确定它需要更新HTTPHeaderField,但我在Android中找不到它的任何参考。 下面的代码就是我用来调出网页但是没有’referer’它会说’Access Denied’ WebView webview = new WebView(this); setContentView(webview); webview.loadUrl(“http://www.mywebsite.com”); 我认为答案可能在于WebView.LoadURL方法,该方法增加了额外的标题,但我找不到它的任何示例。

Android Http获取Session Cookie

我真的不想在这里发帖,因为网上有太多的信息,但是我已经深入了解并无法弄明白。 好的,所以我不能让这个在两个场景中工作,希望两者的答案是一样的。 我的问题是我设置了请求标头,但它似乎没有发送它。 我有一个会话ID s = e32ff223fwefd3,我想将它存储在“Cookie”下,但它似乎没有工作。 这是我有的最快的代码示例 import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.HttpResponse; private static String sessionCookie = “s=12342342352354234”; public static void get(String url) { HttpClient client = new DefaultHttpClient(); HttpGet request = new HttpGet(url); if(sessionCookie != null){ Log.d(TAG, “Setting Cookie: “+sessionCookie); request.setHeader(“Cookie”, sessionCookie); } else { Log.i(TAG, “Null session request get()”); } HttpResponse […]

自定义用户代理字符串或标头,无需修改cordova库

我有一个与ASP.NET MVC Web应用程序交互的Android Phonegap / Cordova应用程序。 我试图检测服务器端是否从浏览器或我的Phonegap / Cordova应用程序加载网页。 我考虑过几种方法: 更改用户代理字符串。 我发现这个stackoverflow链接描述了一种使其工作的方法。 不幸的是,它对我不起作用。 请求对象没有自定义用户代理字符串。 包含自定义标头值。 这可以通过修改cordova库来完成(请参阅此stackoverflow链接 。)但是,修改库通常是一个坏主意,因为它将来会成为一个维护问题。 (更新:此方法在第一次请求后无效。) 加载第一页时,在查询字符串中添加一些特殊内容。 然后可以设置cookie。 与简单的标题更改相比,这是一种丑陋的解决方案。 我在用户代理字符串更改时做错了吗? 还是有另一种方法可以实现这一目标吗?

如何设置请求标头从Android应用程序发送数据到我们的服务器

如何设置http标头从我们的Android应用程序发送json对象我们想用什么types的标头从客户端发送数据到服务器。为什么我们使用标头,并在那个重要性。 public class HomeLayoutActivity extends Activity implements OnClickListener{ private EditText value; private Button btn; private ProgressBar pb; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.home_layout); value=(EditText)findViewById(R.id.editText1); btn=(Button)findViewById(R.id.button1); pb=(ProgressBar)findViewById(R.id.progressBar1); pb.setVisibility(View.GONE); btn.setOnClickListener(this); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.home_layout, menu); return true; } public void onClick(View v) { // TODO Auto-generated method stub if(value.getText().toString().length()<1){ // out […]

如何为webview启用expires-header缓存

我正在构建一个包含菜单和webview的应用程序。 当用户选择菜单项时,webview应加载尊重的html文件。 到现在为止还挺好。 现在我体验到,每当我按下菜单项时webview都在请求html。 我想只在一个会话中加载一次html,导致html文件在一天内不会改变。 所以我做的第一件事就是在服务器端正确设置expires头。 你可以在这里查看: http://redbot.org/?uri=http%3A%2F%2Fcutoutcam.com%2Ftest1.php 然后我试了一下 mWebView.getSettings().setCacheMode(WebSettings.LOAD_DEFAULT); 和 mWebView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ONLY); 结果: 第一个版本每次都要求html(用代理检查) – >这很奇怪。 它应该显示缓存版本,只要它没有过期。 有什么问题? 第二个版本永远不会请求一个新的html文件(没关系,因为它应该是那个) 任何人都知道为什么过期标题在这里无法正常工作? 整个代码: mWebView = (WebView) getView().findViewById(R.id.fragment_web_view_wv); mWebView.setWebViewClient(new WebViewClient(this)); mWebView.setScrollBarStyle(View.SCROLLBARS_OUTSIDE_OVERLAY); mWebView.setWebChromeClient(new WebChromeClient() { @Override public void onReachedMaxAppCacheSize(long spaceNeeded, long totalUsedQuota, android.webkit.WebStorage.QuotaUpdater quotaUpdater) { quotaUpdater.updateQuota(spaceNeeded * 2); } }); mWebView.getSettings().setDomStorageEnabled(true); mWebView.getSettings().setAppCacheMaxSize(1024*1024*8); String appCachePath = getActivity().getApplicationContext().getCacheDir().getAbsolutePath(); mWebView.getSettings().setAppCachePath(appCachePath); mWebView.getSettings().setAllowFileAccess(true); mWebView.getSettings().setAppCacheEnabled(true); […]

如何查看/调试手机浏览器发送的非标准请求标头?

有许多网站可以显示并让您查看标准请求标头。 但我找不到任何实际显示非标准请求标头的网站,通过触发我的基于WebView的Android应用程序来发送某些字段。 更具体地说,我希望看到我的Android手机在X-Requested-With字段中发送的内容。 注意:我不是在寻找Firefox附加组件,因为我的目标不是看对方如何响应合成请求。 正在寻找的是一种了解对方(网站)从我的特定Android设备中看到的内容的方法。