Help Module Curl - не получается запуск на Linux

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
От: Fire09 Сен 2017, 17:58

Нет. Задам вопрос по другому, если я дам ссылку на текстовый документ, модуль сможет прочитать его содержимое?
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
это просто таким же запросом отправить?


Код:
public send()
{
    new CURLcode:code = CURLE_OK
    
    new szFullMessage[200]
    formatex(szFullMessage, charsmax(szFullMessage), "https://blablabla.com/blablabla.txt")
    
    new Handle:curl = curl_init()
    code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
    if (code != CURLE_OK) {
        /*TODO report error*/
    }
    
    code = curl_thread_exec(curl, "OnExecComplete", 0)
}
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
вроде да
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
Ребята тех.поддержка просит отладки плагина, помогите, пожалуйста ее сделать Crazy

Код:
public send()
{
new CURLcode:code = CURLE_OK

new szFullMessage[200]
formatex(szFullMessage, charsmax(szFullMessage), "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s", TOKEN, CHAT_ID, MESSAGE)

new Handle:curl = curl_init()
code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
if (code != CURLE_OK) {
/*TODO report error*/
}

code = curl_thread_exec(curl, "OnExecComplete", 0)
}
 

Katastrofa

Пользователь
Регистрация
11 Июл 2017
Сообщения
18
Симпатии
5
Пол
Мужской
Поставил модуль Soloader выше амхмодх, как написано в описании установки.
Код:
 [ 1] VoiceTranscoder  RUN   -    VoiceTranscoder.  v2017RC3  ini   ANY   ANY
[ 2] So Loader        RUN   -    libsoloader_i386  v1.0      ini   ANY   Start
[ 3] AMX Mod X        RUN   -    amxmodx_mm_i386.  v1.8.3-R  ini   Start ANY
Сам модуль curl закинул в папку modules и ребутнул сервер.
SoLoader выдаёт, что загрузил дополнительные библиотеки
Код:
[SO LOADER] Loaded: libcrypto.so.1.0.0
[SO LOADER] Loaded: libssl.so.1.0.0
В итоге сервер не включается.

AMX Mod X version 1.8.3-Re
ReGameDLL version: 5.3.0.218-dev
Build ReHLDS version defined Linux '1199'.

Кто что может подсказать?
[doublepost=1504684707][/doublepost]Если запускать без модуля curl, то сервер нормально работает, только закидываю его в папку с модулями и прописываю в modules.ini, всё, сервер в ауте.
А а что должно получится то? Что ты такое ставишь на сирвир... что связано с телегой?)
 

georgeml

Скриптер
Постоялец
Регистрация
12 Сен 2017
Сообщения
595
Симпатии
314
Ребята тех.поддержка просит отладки плагина, помогите, пожалуйста ее сделать Crazy
C++:
public send()
{
    new szFullMessage[200];
    formatex(szFullMessage, charsmax(szFullMessage), "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s", TOKEN, CHAT_ID, MESSAGE);
    log_amx("[Curl] %s", szFullMessage);
    
    new Handle:curl = curl_init();
    if(curl_setopt_string(curl, CURLOPT_URL, szFullMessage) == CURLE_OK)
        curl_thread_exec(curl, "OnExecComplete", 0);
}

public OnExecComplete(Handle:curl, CURLcode:code, const response[], data)
{
    if(code != CURLE_OK || !response[0])
        log_amx("[Curl] OnExecComplete Error: ^n%d^n%s", code, response);
    else
        log_amx("[Curl] OnExecComplete: OK");

    curl_close(curl);
}
Curl может запускаться и без SoLoader
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
log_amx("[Curl] OnExecComplete Error: ^n%d^n%s", code, response);

ты бы хоть последнюю постановку взял в кавыычки, ибо может ответа тупо не быть...
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
Вроде как ответа тупо и нет.
Пришли к тому, что с линукса не хочет отправлять запросы на https.
Нужно попробовать указать порт 443.

Код:
public send()
{
    new CURLcode:code = CURLE_OK
    
    new szFullMessage[200]
    formatex(szFullMessage, charsmax(szFullMessage), "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s", TOKEN, CHAT_ID, MESSAGE)
    
    new Handle:curl = curl_init()
    code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage, CURLOPT_PORT, 443)
)

    if (code != CURLE_OK) {
        /*TODO report error*/
    }
    
    code = curl_thread_exec(curl, "OnExecComplete", 0)
}
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
но естественно так будет не правильно и ругается на аргументы в строке
Код:
code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage, CURLOPT_PORT, 443)
Подскажите пожалуйста как будет правильно его указать?
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
curl_setopt_string(curl, CURLOPT_URL, szFullMessage, CURLOPT_PORT, 443)

шта?
это задается двумя нативами, одной нативой несколько свойств не передать же
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
curl_setopt_string(curl, CURLOPT_URL, szFullMessage, CURLOPT_PORT, 443)

шта?
это задается двумя нативами, одной нативой несколько свойств не передать же
я примерно это понял сам, но не могу понять как в моём случае то быть?

Очевидно, что не так, но оставлю навсякий, вдруг...
code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
code = curl_setopt_string(curl, CURLOPT_PORT, 443)


Скорее как-то так:
code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage) + curl_setopt_string(curl, CURLOPT_PORT, 443)

Хотя меня терзают глубокие сомнения и по поводу второго варианта
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
code = curl_setopt_string(curl, CURLOPT_PORT, 443)


порт это не строка
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
code = curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
code = curl_setopt_cell(curl, CURLOPT_PORT, 443)


Проглядел, а в целом правильно чтоли?
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
и не равняется они code..
просто
curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
curl_setopt_cell(curl, CURLOPT_PORT, 443)


code равен curl_thread_exec(curl, "OnExecComplete", 0)
и только потом идет проверка на код ответа, а не раньше...
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
Код:
public send()
{
    new CURLcode:code = CURLE_OK
    
    new szFullMessage[200]
    formatex(szFullMessage, charsmax(szFullMessage), "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s", TOKEN, CHAT_ID, MESSAGE)
    
    new Handle:curl = curl_init()
    
curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
curl_setopt_cell(curl, CURLOPT_PORT, 443)
    if (code != CURLE_OK) {
        /*TODO report error*/
    }
    
    code = curl_thread_exec(curl, "OnExecComplete", 0)
}
Просто вот так и всё?!
Пойду пока тестану, если что не правильно поправьте, пожалуйста!
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
Ну и с портом всё-равно не отправляется
 

neygomon

Его Темнейшество :j
Заблокированные
Пользователь
Регистрация
8 Июн 2017
Сообщения
804
Симпатии
382
Пол
Мужской
C++:
public send()
{
    new szFullMessage[200]
    formatex(szFullMessage, charsmax(szFullMessage), "https://api.telegram.org/bot%s/sendMessage?chat_id=%s&text=%s", TOKEN, CHAT_ID, MESSAGE)
    
    new Handle:curl = curl_init()
    
    curl_setopt_string(curl, CURLOPT_URL, szFullMessage)
    curl_setopt_cell(curl, CURLOPT_PORT, 443)
    
    if(curl_thread_exec(curl, "OnExecComplete", 0) != CURLE_OK) {
        log_amx("[cURL] Query send failed");
    }
    else {
        log_amx("[cURL] Query sended successfully");
    }
}
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
В консоль вообще ни какого ответа не приходит Fie
 

BeasT

Anubis
Пользователь
Регистрация
26 Июн 2017
Сообщения
390
Симпатии
53
Пол
Мужской
Но и сообщение в тлг не приходит.
Тут же провел тест на видовс, сообщение приходит.
 
Сверху Снизу