Посмотрите, как на самом деле выглядит ваша строка request
.Я вставил разрывы строк для удобства чтения, конечно, в действительности их нет:
http://api.bit.ly/v3/shorten?login=mylogin
&apiKey=R_aaaaaaaaaaaaa1a11a11a11a11a1a11a1
&longUrl=https://www.google.com/search?ei=JZJuXICFOLXaxgPqyrXYDQ
&q=github
&oq=github
&gs_l=psy-ab.3..0i131i67j0i67j0l8
.5770.6610..6785...0.0..1.193.560.5j1....3..0....1..
gws-wiz.......0i71j0i131.TSeJXtGZpvc
&format=txt
Вы видите проблему?Как можно предположить, что &q=github
и т. Д. Являются частью longUrl
, а не дополнительными параметрами?
Исправление простое. Как сказано в документации в разделе Best Practices |Кодировка:
Кодировка URL
Все длинные URL-адреса, отправляемые в Bitly API, должны быть закодированы в URL, даже если эти ссылки уже содержат экранированные символы.Для получения дополнительной информации о кодировании URL см. эту статью в Википедии .