1

Тема: AHK: Передача информиции на хостинг текста

Здраствуйте, может кто нибудь знает. Как отправить определённое сообщение на хостинг textdoc.co, используя AHK. При этом, чтобы любая предыдущая информация сохранялась на хостинге. Заранее спасибо!

2

Re: AHK: Передача информиции на хостинг текста

Я бы советовал использовать сервисы, у которых есть API, например Pastebin.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Передача информиции на хостинг текста

teadrinker Ладно, мне в принципе не принципиально куда отправлять. Можно ли используя этот сервис так сделать?

4

Re: AHK: Передача информиции на хостинг текста

Вот простой пример:

#Requires AutoHotkey v2.0

devKey := '183696cd98add6e21cdd53587a1987fb' ; сюда вставьте ваш ключ, этот не будет работать

pasteTitle := 'My paste'
pasteContent := '
(
    Hello, World!
    This is my first paste.
)'
url := 'https://pastebin.com/api/api_post.php'
headers := Map('Content-Type', 'application/x-www-form-urlencoded')

MsgBox A_Clipboard := WebRequest(url, 'POST', headers,,
      'api_option=paste'
    . '&api_dev_key=' . devKey
    . '&api_paste_name=' . EncodeDecodeURI(pasteTitle)
    . '&api_paste_code=' . EncodeDecodeURI(pasteContent))

WebRequest(url, method := 'GET', HeadersMap := '', binary := false, body?, &status?) {
    Whr := ComObject('WinHttp.WinHttpRequest.5.1')
    Whr.Open(method, url, true)
    if HeadersMap is Map {
        for name, value in HeadersMap
            Whr.SetRequestHeader(name, value)
    }
    Whr.Send(body ?? '')
    Whr.WaitForResponse()
    status := Whr.status
    SafeArray := Whr.responseBody
    pData := NumGet(ComObjValue(SafeArray) + 8 + A_PtrSize, 'Ptr')
    length := SafeArray.MaxIndex() + 1
    if !binary {
        return StrGet(pData, length, 'UTF-8')
    }
    DllCall('RtlMoveMemory', 'Ptr', data := Buffer(length), 'Ptr', pData, 'Ptr', length)
    return data
}

EncodeDecodeURI(str, encode := true, component := true) {
    static Doc := '', JS := ''
    if !Doc {
        Doc := ComObject('htmlfile')
        Doc.write('<meta http-equiv="X-UA-Compatible" content="IE=9">')
        JS := Doc.parentWindow
        (Doc.documentMode < 9 && JS.execScript())
    }
    Return JS.%(encode ? 'en' : 'de') . 'codeURI' . (component ? 'Component' : '')%(str)
}

Чтобы он заработал, нужно вставить свой Developer API Key, он появится на этой странице, когда залогинитесь. Результатом работы кода будет MsgBox с адресом, он также будет в буфере обмена.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: RBai, 2024-05-10 01:05:57)

Re: AHK: Передача информиции на хостинг текста

teadrinker Здравствуйте. Да, работает не плохо, но мне нужно сделать так, чтобы ссылка была постоянной. Если это возможно, то как? (в идеале, чтобы было написанно на 1 версии Ahk, но это уже не критично).

6

Re: AHK: Передача информиции на хостинг текста

А разве она не постоянная?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: Передача информиции на хостинг текста

teadrinker нет, она не постоянная.

8

Re: AHK: Передача информиции на хостинг текста

У меня постоянная. Те, что я делал для теста, до сих пор сохранились.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder