Solved

HTTP Client in Apache return "Target host must not be null"

Posted on 2009-06-29
5
1,596 Views
Last Modified: 2013-12-06
Dear experts,
I am using Apache HTTP client library for Android emulator.
http://hc.apache.org/httpcomponents-client/httpclient/apidocs/org/apache/http/client/package-summary.html

However whenever I enter e.g "www.google.com" or "http://www.google.com", it always return error "Target host must not be null"
But when i convert into IP Address, all works well.
Would you be able to advice?

Thanks!
public void run() {

			Log.i("GList", "downloadProcess run()");

			props = new Properties();
 

			try {

				String url;

				url = "http://www.google.com"; //THIS IS FAILED

				//url = "http://216.239.61.104"; // THIS IS OK

				HttpManager.doGet(url, props);

			} catch (Exception e) {

				// TODO Auto-generated catch block

				e.printStackTrace();

			}

			// TODO Auto-generated method stub

		}

Open in new window

0
Comment
Question by:isuhendro
  • 3
  • 2
5 Comments
 
LVL 86

Expert Comment

by:CEHJ
ID: 24743483
>>HttpManager.doGet(url, props);

What's that? It's not Apache HttpClient..
0
 

Author Comment

by:isuhendro
ID: 24743532
Hi CEHJ,
HttpManager just a wrapper of Apache HTTP client, please refer to the static method inside HttpManager below.
	public static String doGet (String serviceEndpoint, Properties props) throws Exception

	{

		HttpClient httpClient = new DefaultHttpClient();

		StringBuilder uriBuilder = new StringBuilder(serviceEndpoint);

		StringBuffer sbResponse = new StringBuffer ();		

		Enumeration<Object> enumProps = props.keys();

		String key, value = null;

		

		if (enumProps.hasMoreElements()) uriBuilder.append('?');

		while (enumProps.hasMoreElements())

		{

			key = (String)enumProps.nextElement();

			value = (String)props.get(key);

			uriBuilder.append(key);

			uriBuilder.append('=');

			uriBuilder.append(java.net.URLEncoder.encode(value));

			uriBuilder.append('&');			

		}

		HttpGet request = new HttpGet(uriBuilder.toString());

		

	HttpResponse response = httpClient.execute(request);
 

		

Open in new window

0
 
LVL 86

Accepted Solution

by:
CEHJ earned 125 total points
ID: 24743600
>>But when i convert into IP Address, all works well.

Sounds like a DNS error. Have you tried running your code on another network?
0
 

Author Closing Comment

by:isuhendro
ID: 31598185
hi CEHJ,

thank you for your suggestion.
somehow this line java.net.URLEncoder gave invalid form URL
0
 
LVL 86

Expert Comment

by:CEHJ
ID: 24949148
:-)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
@SBGen Method 3 38
Java array passed to SQL where clause 23 64
get weblogic logged in user in java 2 58
MySQL  on Tomcat 8 30
Introduction This article is the last of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers our test design approach and then goes through a simple test case example, how …
Performance in games development is paramount: every microsecond counts to be able to do everything in less than 33ms (aiming at 16ms). C# foreach statement is one of the worst performance killers, and here I explain why.
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.

862 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

23 Experts available now in Live!

Get 1:1 Help Now