2012-01-16 7 views
6

मैं वर्तमान में अपनी वेबसाइट पर एंड्रॉइड के माध्यम से डेटा पोस्ट करने का प्रयास कर रहा हूं।PHP फ़ाइल के लिए लॉगिन विवरण के साथ एंड्रॉइड पोस्ट डेटा - https

PHP स्क्रिप्ट मैं एक लॉगिन आवश्यकताओं के डेटा भेजने चाहते हैं ...

ब्राउज़र मैं कड़ी में की तरह लॉगिन डेटा का उपयोग कर सकते हैं के माध्यम से नीचे दिखाया गया है:

https://demo:[email protected]/foo.php?bar=42

तो मैं एक ही कोशिश निम्नलिखित कोड के साथ कुछ भी होता है:

public void postData() { 

    // Create a new HttpClient and Post Header 
    HttpClient httpclient = new DefaultHttpClient(); 
    String postUrl = "https://demo:[email protected]/foo.php"; 
    HttpPost httppost = new HttpPost(postUrl); 
    try { 

     // Add your data 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("bar", "42")); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     // Execute HTTP Post Request 
     HttpResponse response = httpclient.execute(httppost); 
    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
    } 
} 

केवल त्रुटि मैं मिल/प्रतिक्रिया:

"401 - प्राधिकरण आवश्यक"

दुर्भाग्य से मैं कैसे है कि त्रुटि को ठीक करने) पता नहीं है:

public void postData() { 
    // Create a new HttpClient and Post Header 
    DefaultHttpClient httpclient = new DefaultHttpClient(); 
    String postUrl = "https://www.example.com/foo.php"; 


    HttpHost targetHost = new HttpHost("www.example.com", -1, "https"); 

    httpclient.getCredentialsProvider().setCredentials(
      new AuthScope(targetHost.getHostName(), targetHost.getPort()), 
      new UsernamePasswordCredentials("demo", "demo")); 
    HttpPost httppost = new HttpPost(postUrl); 
    try { 

     // Add your data 
     List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2); 
     nameValuePairs.add(new BasicNameValuePair("bar", "42")); 
     httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 

     // Execute HTTP Post Request 
     HttpResponse response = httpclient.execute(targetHost, httppost); 
    } catch (ClientProtocolException e) { 
     // TODO Auto-generated catch block 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
    } 
} 

उत्तर

3

इस प्रयास करें::

"फ्रांसेस्को Vadicamo" काम कोड के लिए धन्यवाद

HttpHost targetHost = new HttpHost(HOSTNAME, -1, SCHEME); 
httpclient.getCredentialsProvider().setCredentials(
    new AuthScope(targetHost.getHostName(), targetHost.getPort()), 
    new UsernamePasswordCredentials(USERNAME, PASSWORD) 
); 
+0

धन्यवाद आदमी। ठीक काम करता है (: – endofsource

+0

@ एंडऑफसोर्स: कृपया, क्या आप उत्तर के रूप में सेट कर सकते हैं? –

+0

हो गया - मुझे लगता है। – endofsource

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