Это мое лучшее предположение о том, как работает поиск изображений:
Данные в URL не являются закодированной формой изображения. Данные представляют собой отпечаток изображения, используемый для нечеткого сопоставления.
Вы должны заметить, что когда вы загружаете изображение для поиска, это двухэтапный процесс. Первый шаг загружает изображение через URL http://images.google.com/searchbyimage/upload
. Сервер Google возвращает отпечаток пальца. Затем браузер перенаправляется на страницу поиска со строкой запроса на основе отпечатка пальца.
Если Google не опубликует алгоритм генерации отпечатка пальца, вы не сможете сгенерировать строку поискового запроса из своего приложения. До этого вы можете отправить свое приложение в URI загрузки. Вы должны быть в состоянии проанализировать ответ и построить строку запроса.
EDIT
Это ключи и значения, отправленные на сервер, когда я загрузил файл.
image_url =
btnG = Search
encoded_image = // the binary image content goes here
image_content =
filename =
hl = en
bih = 507
biw = 1920
"bih" и "biw" выглядят как размеры, но не соответствуют загруженному файлу.
Используйте эту информацию на свой страх и риск. Это недокументированный API, который может изменить и сломать ваше приложение.