Volley框架之使用GET或POST将cookie传给服务器

来源:互联网 发布:wifi信号搜索软件 编辑:程序博客网 时间:2024/05/22 15:32

Volley框架使用GET或POST将cookie传给服务器,需要覆盖一个方法:public Map<String, String> getHeaders() throwsAuthFailureError

具体方法如下:

[java] view plain copy
  1. private void VolleyGETCredit() {  
  2.     String url = "你的网址";  
  3.     RequestQueue queue = Volley.newRequestQueue(getActivity());  
  4.     StringRequest request= new StringRequest(Request.Method.GET, url,  
  5.             new Response.Listener<String>() {  
  6.                 @Override  
  7.                 public void onResponse(String response) {  
  8.                    LoadHTML(response);  
  9.                 }  
  10.             },  
  11.             new Response.ErrorListener() {  
  12.                 @Override  
  13.                 public void onErrorResponse(VolleyError error) {  
  14.                     System.out.println("获取失败");  
  15.   
  16.                 }  
  17.             }){  
  18.         @Override  
  19.         public Map<String, String> getHeaders() throws AuthFailureError {  
  20.             Map<String, String> headerMap = new HashMap<>();  
  21.             headerMap.put("Cookie", cookie);  
  22.             return headerMap;  
  23.         }  
  24.     };  
  25.     request.setTag("GET");  
  26.     queue.add(request);  
  27. }  
这个cookie从哪里来呢?请看我上一篇文章,我有提到,把得到的cookie使用SharedPreferences

保存起来了。在前面,我是这么写的:

[java] view plain copy
  1. private String cookie;  
  2. public SharedPreferences preferences;  
  3. public SharedPreferences.Editor editor;  
  4. private WebView creditFragment_webView;  
  5. private TextView creditFragment_textView;  
  6.   
  7.   
  8. @Nullable  
  9. @Override  
  10. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {  
  11.     View view = inflater.inflate(R.layout.fragment_credit, container, false);  
  12.     preferences = getActivity().getSharedPreferences("Login", Context.MODE_PRIVATE);  
  13.     cookie = preferences.getString("Cookie"null);  
  14.     creditFragment_webView = (WebView) view.findViewById(R.id.creditFragment_webView);  
  15.     creditFragment_textView = (TextView) view.findViewById(R.id.creditFragment_textView);  
  16.     VolleyGETCredit();  
  17.     return view;  
  18. }  
0 0
原创粉丝点击