Тема: AHK: Передача информиции на хостинг текста
Здраствуйте, может кто нибудь знает. Как отправить определённое сообщение на хостинг textdoc.co, используя AHK. При этом, чтобы любая предыдущая информация сохранялась на хостинге. Заранее спасибо!
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Здраствуйте, может кто нибудь знает. Как отправить определённое сообщение на хостинг textdoc.co, используя AHK. При этом, чтобы любая предыдущая информация сохранялась на хостинге. Заранее спасибо!
Я бы советовал использовать сервисы, у которых есть API, например Pastebin.
teadrinker Ладно, мне в принципе не принципиально куда отправлять. Можно ли используя этот сервис так сделать?
Вот простой пример:
#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 с адресом, он также будет в буфере обмена.
teadrinker Здравствуйте. Да, работает не плохо, но мне нужно сделать так, чтобы ссылка была постоянной. Если это возможно, то как? (в идеале, чтобы было написанно на 1 версии Ahk, но это уже не критично).
А разве она не постоянная?
teadrinker нет, она не постоянная.
У меня постоянная. Те, что я делал для теста, до сих пор сохранились.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться