Как мы отправляем данные с помощью метода GET?
Я создаю HTTPS-соединение и устанавливаю свойство запроса как GET:
_httpsConnection = (HttpsConnection) Connector.open(URL, Connector.READ_WRITE);
_httpsConnection.setRequestMethod(HttpsConnection.GET);
но как отправить параметры GET? Я устанавливаю свойство request следующим образом:
_httpsConnection.setRequestProperty("method", "session.getToken");
_httpsConnection.setRequestProperty("developerKey", "value");
_httpsConnection.setRequestProperty("clientID", "value");
или мне нужно записать в выходной поток соединения?
или мне нужно отправить параметр / значения, добавив его в url-адрес?
3 ответов
вызов Connection.setRequestProperty()
установит заголовок запроса, что, вероятно, не то, что вы хотите сделать в этом случае (если вы спросите меня, я думаю, называя его setRequestHeader было бы лучшим выбором). Некоторые прокси могут удалить или переписать имя нестандартных заголовков, поэтому вам лучше придерживаться соглашения о передаче данных в GET URL через Параметры URL.
лучший способ сделать это на BlackBerry-использовать URLEncodedPostData
класс для правильного кодирования URL параметры:
URLEncodedPostData data = new URLEncodedPostData("UTF-8", false);
data.append("method", "session.getToken");
data.append("developerKey", "value");
data.append("clientID", "value");
url = url + "?" + data.toString();
HTTP GET
отправить параметры данных как пары ключ / значение, закодированные в URL, так же, как:
GET /example.html // without parameters
GET /example.html?Id= 1 // with one basic parameter
GET /example.html?Id=1&Name=John%20Doo // with two parameters, second encoded
Примечание следуйте правилам для разделителей символов:
? - split URL in two pieces: adddress to left and paremeters to right
& - must be used to separate on parameter from another
вы должны знать, что ваша собственная строка платформы кодирует функцию. Javascript использует escape
, C# использует HttpUtility.UrlEncode
да, заголовки и свойства-это почти все, что вы можете отправить в GET. Кроме того, вы ограничены определенным количеством символов, которое зависит от браузера - я, кажется, припоминаю, о 1024 или 2000, как правило.