-
09.06.2018, 21:17 #16
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 58
- Сообщений
- 2,998
- Поблагодарили
- 2951
- Поблагодарил
- 220
73! Олег. http://ur1004swl.ucoz.ru/
-
09.06.2018, 21:37 #17
- Регистрация
- 05.06.2017
- Сообщений
- 87
- Поблагодарили
- 13
- Поблагодарил
- 107
-
09.06.2018, 21:40 #18
- Регистрация
- 05.06.2017
- Сообщений
- 87
- Поблагодарили
- 13
- Поблагодарил
- 107
-
09.06.2018, 22:53 #19
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 58
- Сообщений
- 2,998
- Поблагодарили
- 2951
- Поблагодарил
- 220
73! Олег. http://ur1004swl.ucoz.ru/
-
10.06.2018, 07:42 #20
- Регистрация
- 05.06.2017
- Сообщений
- 87
- Поблагодарили
- 13
- Поблагодарил
- 107
То есть вот эти строки
<PROGRAMID:10>UR5EQF_log
<PROGRAMVERSION:7>3.31-61
<ADIF_VER:3>2.0
нужно включить а потом <QSO_DATE:8>20000409 <TIME_ON:4>1130 <CALL:6>WB4WXX <BAND:3>20M <MODE:3>SSB <RST_SENT:2>57 <EOR>
Я правильно понимаю ?All the best for you.
Welcome to CW !
-
10.06.2018, 08:47 #21
- Регистрация
- 10.08.2006
- Адрес
- г. Ревда Свердловской области
- Сообщений
- 979
- Поблагодарили
- 290
- Поблагодарил
- 1163
Через программу не передавал, загружаю данные на сайты adif файлом в таком виде:
<QSO_DATE:8>20180610<TIME_ON:4>0540<CALL:6>WB4WXX<BAND:3>20M<MODE:3>SS B<RST_SENT:2>57<RST_RCVD:2>59<FREQ:9>14.000000<EOR>
Без заголовка и каждая связь в одной строке. Данные записаны без пробелов. Для eQSL teg FREQ не нужен - точную частоту они не указывают, но нужен для других сайтов.
Также и RST_RCVD - не отображается, но если присутствует в данных, то не мешает, просто игнорируется сайтом.Последний раз редактировалось R9CD; 10.06.2018 в 08:58.
-
10.06.2018, 10:08 #22
- Регистрация
- 05.06.2017
- Сообщений
- 87
- Поблагодарили
- 13
- Поблагодарил
- 107
Я хочу в своей программе по окончанию qso передавать данные на eqsl.cc
А то как залить на eqsl.cc adif file - это без проблем. Я формирую и читаю adif (на c#) без проблем
Меня интересует только как передать данные текущего qsoAll the best for you.
Welcome to CW !
-
10.06.2018, 10:47 #23
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 58
- Сообщений
- 2,998
- Поблагодарили
- 2951
- Поблагодарил
- 220
Метод POST
Отправка данных
'http://www.eqsl.cc/qslcard/ImportADIF.cfm?'ADIFData=UR5EQF_log3 <EOH><OPERATOR:4>UR1E<CALL:6>UV5EUE<QSO_DATE:8>20180610<TIME_ON:4>0704 <FREQ:2>28<MODE:3>FT8<RST_SENT:2>13<RST_RCVD:3>-15<BAND:3>10M<QSLMSG:37>You WKD with RW4LMR . PSE QSL TU 73!.<EOR>&eQSL_User=Login&eQSL_Pswd=Password
В ответ получите сколько добавлено QSO или как у меня дубликат
Warning: Y=2018 M=06 D=10 UV5EUE 10M FT8 Bad record: Duplicate
Result: 0 out of 1 records addedПоследний раз редактировалось US-E-12; 10.06.2018 в 10:52.
73! Олег. http://ur1004swl.ucoz.ru/
-
10.06.2018, 11:05 #24
- Регистрация
- 05.06.2017
- Сообщений
- 87
- Поблагодарили
- 13
- Поблагодарил
- 107
-
10.06.2018, 19:34 #25
- Регистрация
- 05.06.2017
- Сообщений
- 87
- Поблагодарили
- 13
- Поблагодарил
- 107
Делаю так :
string Auth = send("https://www.eqsl.cc/QSLCard/LoginFinish.cfm", string.Format("Callsign={0}&EnteredPassword={1}&Login=Go", Login.Text, Password.Text)); // авторизация прошла
вызываю передачу данных:
SendQso();
public void SendQso()
{
string myUrl = "http://www.eqsl.cc/qslcard/ImportADIF.cfm?";
var request = (HttpWebRequest)WebRequest.Create(myUrl);
var postData = "<EOH><OPERATOR:4>UR1E<CALL:6>UV5EUE<QSO_DATE:8>201 80610<TIME_ON:4>0704<FREQ:2>28<MODE:3>FT8<RST_SENT :2>13<RST_RCVD:3>-15<BAND:3>10M<QSLMSG:37>You WKD with RW4LMR . PSE QSL TU 73!.<EOR>&eQSL_User=uz5dm&eQSL_Pswd=********";
//postData += "&thing2=world";
var data = Encoding.ASCII.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
textBox2.Text = responseString; // смотрю что ответил сервер
}
Ошибка Удаленный сервер возвратил ошибку: (400) Недопустимый запрос.
Что я не правильно делаю ?All the best for you.
Welcome to CW !
-
10.06.2018, 19:51 #26
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 58
- Сообщений
- 2,998
- Поблагодарили
- 2951
- Поблагодарил
- 220
73! Олег. http://ur1004swl.ucoz.ru/
-
10.06.2018, 21:14 #27
- Регистрация
- 05.06.2017
- Сообщений
- 87
- Поблагодарили
- 13
- Поблагодарил
- 107
Я исправил
public void SendQso()
{
string myUrl = "http://www.eqsl.cc/qslcard/ImportADIF.cfm?";
var request = (HttpWebRequest)WebRequest.Create(myUrl);
string postData = "<EOH><OPERATOR:4>UR1E<CALL:6>UV5EUE<QSO_DATE:8>201 80610<TIME_ON:4>0704<FREQ:2>28<MODE:3>FT8<RST_SENT :2>13<RST_RCVD:3>-15<BAND:3>10M<QSLMSG:37>You WKD with RW4LMR . PSE QSL TU 73!.<EOR>&eQSL_User="+Login.Text+"&eQSL_Pswd="+Password.Text;
//postData += "&thing2=world";
var data = Encoding.UTF8.GetBytes(postData);
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = data.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(data, 0, data.Length);
}
var response = (HttpWebResponse)request.GetResponse();
var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
textBox2.Text = responseString;
}
Удаленный сервер возвратил ошибку: (400) Недопустимый запрос.All the best for you.
Welcome to CW !
-
10.06.2018, 23:34 #28
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 58
- Сообщений
- 2,998
- Поблагодарили
- 2951
- Поблагодарил
- 220
Поставте какой-нибудь web debugging, к примеру Fiddler Free и посмотрите, что Вы отправляете по сети сервису, похоже это на запрос.
Можно попробывать отправить массив
// переводим данные в массив байтов
byte[] d = Encoding.UTF8.GetBytes(postData);
// устанавливаем длинну данных для запроса
request.ContentLength = d.Length;
stream = request.GetRequestStream();
// собственно отправляем запрос
stream.Write(d, 0, d.Length);Последний раз редактировалось US-E-12; 11.06.2018 в 00:04.
73! Олег. http://ur1004swl.ucoz.ru/
-
11.06.2018, 14:16 #29
- Регистрация
- 03.02.2006
- Возраст
- 51
- Сообщений
- 17,511
- Поблагодарили
- 8289
- Поблагодарил
- 4350
Content-Type: multipart/form-data;
по этому и не верный.
Вы используете сторонний компонет - а он шлет непонятно что...
Лично моя рекомендация: если действительно хотите написать что-то стоящее, то работу с Интернетом нужно писать самому на WinAPI - благо по этому вопросу в инете информации много и не сложно.
Плюс потом ведь захотите на LoTW отправлять?))) А там свои нюансы.
Это существенно проще, чем в сторонних компонентах разбираться.
... Да и еще - шлете по 1 QSO в режиме реального времени? Если да, то не multipart/form-data;
а в Адиф добавляете
&eQSL_User=<USER>&eQSL_Pswd=<PASS>& ?Последний раз редактировалось RX4HX; 11.06.2018 в 14:19.
73 de RX4HX, Alexei, http://rx4hx.qrz.ru
Ant.: UW4HW, Pwr.: ~500 Wtts
-
11.06.2018, 15:30 #30
- Регистрация
- 01.07.2011
- Адрес
- Днепропетровск
- Возраст
- 58
- Сообщений
- 2,998
- Поблагодарили
- 2951
- Поблагодарил
- 220
Нет параметра
string postData = "ADIFData=<EOH><OPERATOR:4>UR1E<CALL:6>UV5EUE<QSO_DATE:8>20 1 80610<TIME_ON:4>0704<FREQ:2>28<MODE:3>FT8<RST_SENT :2>13<RST_RCVD:3>-15<BAND:3>10M<QSLMSG:37>You WKD with RW4LMR . PSE QSL TU 73!.<EOR>&eQSL_User="+Login.Text+"&eQSL_Pswd="+Pas sword.Text;73! Олег. http://ur1004swl.ucoz.ru/
Социальные закладки