Страницы: 1
RSS
Создания сообщений на сайте CMS WordPress, С помощью POST запроса или IE
 
начало я давно уже проложил, я написал макрос для того чтобы он залогинился и запомнил меня (ексель).
А вот дальше с пост запросом не пошло и наработки ушли (не сохранил).

Сейчас попробовал ручками с помощью IE это делать, но опять-же столкнулся с проблемами, который возможно можно решить, но я не хочу т.е. ИЕ очень много памяти жрет и достаточно долго работает по сравнению с обычной отправкой запроса на сайт.
Конкретно такие вопросы у меня: Как можно отправить запрос на сайт для создания поста и что для этого нужно, у меня снифер поймал следующие данные при отправке :
Скрытый текст
Нужно ли отправлять все эти данные? и как получить post_ID точнее как он его получает, если не только я могу посты создавать?
Если кто сталкивался с подобным подскажите помогите!

К Стати у этого сайта база на МУСКУЛЕ, если кто знает как это сделать с его помощью возможно подскажите.

Я сейчас играюсь со значениями, может и получится сделать.


Код
Sub PostForPostWP()
     'On Error Resume Next
     Set xmlhttp = CreateObject("Microsoft.XMLHTTP")
     xmlhttp.Open "POST", "http://nonator.com/wp-login.php", "True"
     xmlhttp.setRequestHeader "If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT"    ' чтобы избежать кеширования
    Dim POST() As Byte, PostData$
      PostData = "log=test&pwd=test&rememberme=forever&wp-submit=%D0%92%D0%BE%D0%B9%D1%82%D0%B8&redirect_to=http%3A%2F%2Fnonator.com%2Fwp-admin%2F&testcookie=1"
'     PostData = PostData & "log=test"
'     PostData = PostData & "&pwd=test"
'     PostData = PostData & "&rememberme=forever"
'     PostData = PostData & "&wp-submit=Войти"
'     'PostData = PostData & "&redirect_to=http://nonator.com/wp-admin/post-new.php" 'post-new.php
'     PostData = PostData & "&testcookie=1"
     POST = StrConv(PostData, vbFromUnicode)
     xmlhttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
     xmlhttp.send (POST): DoEvents
     If xmlhttp.Status <> 200 Then Exit Sub
        Debug.Print xmlhttp.responseText
     Set xmlhttp = Nothing

End Sub
 
Ага разобрался Мне нужно включить кукки и как-то или где-то их хранить.
Изменено: Иван - 02.08.2014 19:02:22
Автоматизация приложений, разработка ботов, парсинг сайтов, поиск информации и многое другое на языках : Delphi, C++, VBA. Информация в профиле.
 
Помогите включить кукки и записать их из
Код
     'Set xmlhttp = CreateObject("MSXML2.ServerXMLHTTP")
     Set xmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1") 
вот что мне браузер возвращает
Цитата
Осторожно: Режим обслуживания активен!
ОШИБКА: Cookies либо заблокированы, либо не поддерживаются вашим браузером. Чтобы использовать WordPress, нужно разрешить cookies.
пробую получить через
Код
Function GetHeader(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "HEAD", sURL, False
oXHTTP.send
GetHeader = oXHTTP.GetAllResponseHeaders()
Dim c As Range
End Function
Изменено: Иван - 14.08.2014 21:10:04
Автоматизация приложений, разработка ботов, парсинг сайтов, поиск информации и многое другое на языках : Delphi, C++, VBA. Информация в профиле.
 
Иван, воспользуйтесь браузером Google Chrome, и выполните создание поста вручную,
- а потом посмотрите, по каким URL какие данные отправляются
В браузере Google Chrome нажмите Ctrl + Shift + i, после чего активируйте вкладку NETWORK, — там видно по каждому запросу, какие заголовки запроса, какие данные через POST переданы, какой ответ возвратил сервер, что в куки записалось, и т.д. и т.п.

Обратите внимание: часть данных отправляется через POST, другая часть - в заголовках HTTP запроса (например, заголовок cookie)

PS: Объекта WinHttp.WinHttpRequest вполне достаточно, использовать IE нет необходимости
 
Спасибо, регулярно пользуюсь вашим сайтом и очень вам благодарен, особенно вашим готовым примером именно с его помощью сейчас отправляю запросы и получаю информацию.
Сделал так:
Все переписал, потом в точности все это дело отправил, но отправлял с помощью одно и того-же xmlhttp = CreateObject("WinHttp.WinHttpRequest.5.1"  ;)  
я его не пересоздавал, я просто переписал (данные которые отправляются), отправил логин (вроде получилось), потом переписал  - xmlhttp.Open "POST", и PostData = "", а потом заново добавил туда данные ну и отправил еще раз уже на создание поста
Изменено: Иван - 03.08.2014 02:41:11
Автоматизация приложений, разработка ботов, парсинг сайтов, поиск информации и многое другое на языках : Delphi, C++, VBA. Информация в профиле.
Страницы: 1
Читают тему
Наверх