And so it does:

>>>
kman@minty ~/Android/proj-new/AquaMail $ wget -S --post-data="hello=there"
http://www.google.com
--2012-01-10 01:47:02--  http://www.google.com/
Resolving www.google.com (www.google.com)... 74.125.232.80, 74.125.232.81,
74.125.232.82, ...
Connecting to www.google.com (www.google.com)|74.125.232.80|:80...
connected.
HTTP request sent, awaiting response...
  HTTP/1.1 405 Method Not Allowed
  Allow: GET, HEAD
  Date: Mon, 09 Jan 2012 21:47:03 GMT
  Content-Type: text/html; charset=UTF-8
  Server: gws
  Content-Length: 11816
  X-XSS-Protection: 1; mode=block
  X-Frame-Options: SAMEORIGIN
2012-01-10 01:47:03 ERROR 405: Method Not Allowed.
<<<

-- Kostya

10 января 2012 г. 1:27 пользователь Kostya Vasilyev <[email protected]>написал:

> Follow up: taking out setDoOutput(true) makes it work for www.google.comas 
> well.
>
>
> http://stackoverflow.com/questions/8587913/what-exactly-does-urlconnection-setdooutput-affect
>
> The link above explains that setDoOutput(true) forces an HTTP POST request.
>
> So maybe it's just that the Google search server responds to to POST
> requests with a 404 unless they contain all proper search parameters (as
> they do when you actually use search)?
>
> -- Kostya
>
> 10 января 2012 г. 1:22 пользователь Kostya Vasilyev 
> <[email protected]>написал:
>
> I don't have the answer, but tried out your code on a Galaxy Nexus and got
>> the same exception.
>>
>> Amazingly enough, it works with "http://www.apple.com"; and "
>> http://www.microsoft.com"; :)
>>
>> So I'd say, go ahead a file a bug.
>>
>> -- Kostya
>>
>> 10 января 2012 г. 1:04 пользователь Aaron <[email protected]> написал:
>>
>> I have a couple of apps on Market that seem to be having issues
>>> related to Ice Cream Sandwich.
>>>
>>> The following code snippet will throw a FileNotFoundException on both
>>> the Android Emulator and the the Samsung Nexus:
>>>     URL url = new URL ("http://www.google.com";);
>>>     URLConnection connection = url.openConnection();
>>>     connection.setDoOutput(true);
>>>     byte[] bytes = new byte[1024];
>>>     InputStream is = connection.getInputStream();
>>>
>>> Here is the stack trace that is logged:
>>> D/AddNewTitleActivity(12424): java.io.FileNotFoundException:
>>> http://www.google.com
>>> D/AddNewTitleActivity(12424):   at
>>>
>>> libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:
>>> 177)
>>> D/AddNewTitleActivity(12424):   at
>>>
>>> com.flyingspheres.android.inventory.network.NetworkManager.callService(NetworkManager.java:
>>> 130)
>>> D/AddNewTitleActivity(12424):   at
>>>
>>> com.flyingspheres.android.inventory.network.NetworkManager.retrieveHtmlContent(NetworkManager.java:
>>> 299)
>>> D/AddNewTitleActivity(12424):   at
>>> com.flyingspheres.android.inventory.activities.add.AddNewTitleActivity
>>> $3$3$1.doInBackground(AddNewTitleActivity.java:336)
>>> D/AddNewTitleActivity(12424):   at
>>> com.flyingspheres.android.inventory.activities.add.AddNewTitleActivity
>>> $3$3$1.doInBackground(AddNewTitleActivity.java:1)
>>> D/AddNewTitleActivity(12424):   at android.os.AsyncTask
>>> $2.call(AsyncTask.java:264)
>>> D/AddNewTitleActivity(12424):   at java.util.concurrent.FutureTask
>>> $Sync.innerRun(FutureTask.java:305)
>>> D/AddNewTitleActivity(12424):   at
>>> java.util.concurrent.FutureTask.run(FutureTask.java:137)
>>> D/AddNewTitleActivity(12424):   at
>>>
>>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:
>>> 1076)
>>> D/AddNewTitleActivity(12424):   at
>>> java.util.concurrent.ThreadPoolExecutor
>>> $Worker.run(ThreadPoolExecutor.java:569)
>>> D/AddNewTitleActivity(12424):   at java.lang.Thread.run(Thread.java:
>>> 856)
>>>
>>> There is a pretty easy work around by using the
>>> org.apache.http.client.HttpClient but the HttpURLConnection method
>>> works in all versions of android,
>>> with the except Ice Cream Sandwich.  This is a breaking change that
>>> gives users a bad experience when upgrading their phone or
>>> experiencing apps for the first time,
>>> if they're coming from a different platform.
>>>
>>> Is this a known issue intended to force app developers to use a
>>> specific API or should I log this as a bug report?
>>>
>>> Thanks,
>>>
>>> -Aaron
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Android Developers" group.
>>> To post to this group, send email to [email protected]
>>> To unsubscribe from this group, send email to
>>> [email protected]
>>> For more options, visit this group at
>>> http://groups.google.com/group/android-developers?hl=en
>>
>>
>>
>

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to