2012-09-05 15 views
6

हैलो दोस्तों मैं एंड्रॉयडhttp पोस्ट एंड्रॉयड

में http पोस्ट के साथ एक कुकी भेजने की कोशिश कर रहा हूँ के साथ कुकी भेजा जा रहा है यहाँ मेरे कोड है

webUrl = "XXXXXX"; 
     webView = (WebView) findViewById(R.id.webview); 
     try 
     { 
      CookieStore cookieStore = new BasicCookieStore(); 
      Cookie cookie = new BasicClientCookie("session_id", "1234"); 
      cookieStore.addCookie(cookie); 

      DefaultHttpClient httpclient = new DefaultHttpClient(); 

      BasicHttpContext mHttpContext = new BasicHttpContext(); 

      mHttpContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore); 

      HttpGet httpget = new HttpGet("XXXXX"); 

      HttpResponse response = httpclient.execute(httpget); 
      HttpEntity entity = response.getEntity(); 

      Log.i("TAG", "Login form get: " + response.getStatusLine()); 
      if (entity != null) { 
       entity.consumeContent(); 
      } 
      Log.i("TAG", "Initial set of cookies:"); 
      List<Cookie> cookies = httpclient.getCookieStore().getCookies(); 
      if (cookies.isEmpty()) { 
       Log.i("TAG", "None"); 
      } else { 
       for (int i = 0; i < cookies.size(); i++) { 
        Log.i("TAG", "- " + cookies.get(i).toString()); 
       } 
      } 

      HttpPost httpost = new HttpPost("XXXXX"); 

      List <NameValuePair> nvps = new ArrayList <NameValuePair>(); 
      nvps.add(new BasicNameValuePair("session_id", "1234")); 
      nvps.add(new BasicNameValuePair("selected_cid", "1234")); 
      nvps.add(new BasicNameValuePair("selected_kaisai_id", "1234")); 
      nvps.add(new BasicNameValuePair("iid", "1234")); 
      nvps.add(new BasicNameValuePair("tid", "1234")); 

      httpost.setEntity(new UrlEncodedFormEntity(nvps)); 

      response = httpclient.execute(httpost); 
      entity = response.getEntity(); 

      Log.i("TAG", "Login form get: " + response.getStatusLine()); 
      if (entity != null) { 
       entity.consumeContent(); 
      } 

      Log.i("TAG", "Post logon cookies:"); 
      cookies = httpclient.getCookieStore().getCookies(); 
      if (cookies.isEmpty()) { 
       System.out.println("None"); 
      } else { 
       for (int i = 0; i < cookies.size(); i++) { 
        Log.i("TAG", "- " + cookies.get(i).toString()); 
       } 
      } 
      httpclient.getConnectionManager().shutdown();   
     } 
     catch(Exception e) 
     { 
      Log.i("TAG", e.getMessage()); 
     } 
     WebSettings webSettings = webView.getSettings(); 
     webSettings.setJavaScriptEnabled(true); 
     String postData = "session_id=1234"; 
     webView.postUrl(webUrl, EncodingUtils.getBytes(postData, "BASE64")); 

मैं POSTDATA से डेटा पोस्ट कर सकते हैं लेकिन नहीं कुकी कुकी वेबव्यू में पता चला नहीं है यहाँ पीएचपी पक्ष

public function cookietestAction() 
    { 
     echo "mixi for netrecorder tester<br/>\n"; 

     echo "<br/>Cookies...<br/>\n\n"; 
     $request = new Zend_Controller_Request_Http(); 
     $sessionid = $request->getCookie('session_id'); 
     echo "<br/>\nsessionid = ".$sessionid."<br/>\n"; 

     $selected_cid = $request->getCookie('selected_cid'); 
     echo "\nselected_cid = ".$selected_cid."<br/>\n"; 

     $selected_kaisai_id = $request->getCookie('selected_kaisai_id'); 
     echo "\nselected_kaisai_id = ".$selected_kaisai_id."<br/>\n"; 

     $iid = $request->getCookie('iid'); 
     echo "\niid = ".$iid."<br/>\n"; 

     $tid = $request->getCookie('tid'); 
     echo "\ntid = ".$tid."<br/>\n"; 

     if($this->getRequest()->isPost()) 
     { 
      echo "<br/>POST data only...<br/>\n\n"; 
      $post = $this->getRequest()->getPost('session_id'); 
      echo "<br/>\nsession_id=".$post."<br/>\n"; 
      $post = $this->getRequest()->getPost('selected_cid'); 
      echo "selected_cid=".$post."<br/>\n"; 
      $post = $this->getRequest()->getPost('selected_kaisai_id'); 
      echo "selected_kaisai_id=".$post."<br/>\n"; 
      $post = $this->getRequest()->getPost('tid'); 
      echo "tid=".$post."<br/>\n"; 
      $post = $this->getRequest()->getPost('iid'); 
      echo "iid=".$post."<br/>\n"; 
     } 
} 

किसी को भी मुझे बता सकते हैं कि क्या गलत है क्या है? आप

उत्तर

17

धन्यवाद cokie इस तरह इसका इस्तेमाल जोड़ने के लिए: यह आप के लिए शीर्ष लेख

 post.addHeader("Cookie", " PHPSESSID="+PHPSESSID+"; gc_userid="+gc_user+"; gc_session="+gc); 

में जोड़ा जाना चाहिए जैसे कि यह होना चाहिए:

 httpost.addHeader("Cookie","session_id = 1234;"...) 
+0

ठीक मैं धन्यवाद droidhot कोशिश करता हूँ! –

+0

क्षमा करें droidhot, लेकिन यह काम नहीं किया, क्या मुझे और कोड जोड़ने की ज़रूरत है? धन्यवाद –

+0

क्षमा करें उपरोक्त कोड –

संबंधित मुद्दे