Solved

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

Posted on 2009-06-29
5
1,610 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Java: The Public Class Main 4 45
swing controls 2 21
Cisco ASA: Java web start no go, asdm launcher no go 3 57
Delete .class files at every compile 4 18
Are you developing a Java application and want to create Excel Spreadsheets? You have come to the right place, this article will describe how you can create Excel Spreadsheets from a Java Application. For the purposes of this article, I will be u…
As game developers, we quickly learn that Artificial Intelligence (AI) doesn’t need to be so tough.  To reference Space Ghost: “Moltar, I have a giant brain that is able to reduce any complex machine into a simple yes or no answer. (http://www.youtu…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:
This video teaches viewers about errors in exception handling.

749 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