Ubuntu 12.04 под VB 4.1.14 - ping разрешает домен, но wget не работает

Если вам не очень нужно использовать богатое текстовое поле, вы можете просто использовать текстовое поле и выбрать выравнивание как

textbox.TextAlign = HorizontalAlignment.Center;/*could be left, right or center*/
2
задан Martijn Pieters 15 August 2017 в 15:00
поделиться

14 ответов

Динамично создайте <input> с в форме и отправьте его

/**
 * sends a request to the specified url from a form. this will change the window location.
 * @param {string} path the path to send the post request to
 * @param {object} params the paramiters to add to the url
 * @param {string} [method=post] the method to use on the form
 */

function post(path, params, method='post') {

  // The rest of this code assumes you are not using a library.
  // It can be made less wordy if you use one.
  const form = document.createElement('form');
  form.method = method;
  form.action = path;

  for (const key in params) {
    if (params.hasOwnProperty(key)) {
      const hiddenField = document.createElement('input');
      hiddenField.type = 'hidden';
      hiddenField.name = key;
      hiddenField.value = params[key];

      form.appendChild(hiddenField);
    }
  }

  document.body.appendChild(form);
  form.submit();
}

Пример:

post('/contact/', {name: 'Johnny Bravo'});

РЕДАКТИРОВАНИЕ : Так как это получило upvoted так, я предполагаю, что люди будут вставкой копии это много. Таким образом, я добавил эти hasOwnProperty проверка для исправления любых непреднамеренных ошибок.

2020
ответ дан ChrisBrownie55 15 August 2017 в 15:00
поделиться

Простая быстрая-и-грязная реализация ответа @Aaron:

document.body.innerHTML += '<form id="dynForm" action="http://example.com/" method="post"><input type="hidden" name="q" value="a"></form>';
document.getElementById("dynForm").submit();

, Конечно, необходимо скорее использовать платформу JavaScript такой в качестве Прототип или jQuery...

64
ответ дан Peter Mortensen 15 August 2017 в 15:00
поделиться

Используя эти createElement функция, обеспеченная в этот ответ , который необходим из-за уязвимость IE с атрибутом имени на элементах, созданных обычно с document.createElement:

function postToURL(url, values) {
    values = values || {};

    var form = createElement("form", {action: url,
                                      method: "POST",
                                      style: "display: none"});
    for (var property in values) {
        if (values.hasOwnProperty(property)) {
            var value = values[property];
            if (value instanceof Array) {
                for (var i = 0, l = value.length; i < l; i++) {
                    form.appendChild(createElement("input", {type: "hidden",
                                                             name: property,
                                                             value: value[i]}));
                }
            }
            else {
                form.appendChild(createElement("input", {type: "hidden",
                                                         name: property,
                                                         value: value}));
            }
        }
    }
    document.body.appendChild(form);
    form.submit();
    document.body.removeChild(form);
}
51
ответ дан Community 15 August 2017 в 15:00
поделиться

Вы могли динамично добавить форму с помощью DHTML и затем отправить.

1
ответ дан Peter Mortensen 15 August 2017 в 15:00
поделиться

Это похоже на опцию 2 Alan (выше). То, как инстанцировать httpobj, оставляют как осуществление.

httpobj.open("POST", url, true);
httpobj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
httpobj.onreadystatechange=handler;
httpobj.send(post);
1
ответ дан R. Van Hoose 15 August 2017 в 15:00
поделиться

Я спустился бы по маршруту Ajax как другие, предложенные с чем-то как:

var xmlHttpReq = false;

var self = this;
// Mozilla/Safari
if (window.XMLHttpRequest) {
    self.xmlHttpReq = new XMLHttpRequest();
}
// IE
else if (window.ActiveXObject) {
    self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
}

self.xmlHttpReq.open("POST", "YourPageHere.asp", true);
self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');

self.xmlHttpReq.setRequestHeader("Content-length", QueryString.length);



self.xmlHttpReq.send("?YourQueryString=Value");
11
ответ дан BBog 15 August 2017 в 15:00
поделиться

Вы могли выполнить вызов Ajax (вероятно, пользующийся библиотекой, такой как использование Prototype.js или JQuery). Ajax может обработать обе опции GET и POST.

-2
ответ дан Diodeus - James MacFarlane 15 August 2017 в 15:00
поделиться

Одно решение состоит в том, чтобы генерировать форму и отправить его. Одна реализация

function post_to_url(url, params) {
    var form = document.createElement('form');
    form.action = url;
    form.method = 'POST';

    for (var i in params) {
        if (params.hasOwnProperty(i)) {
            var input = document.createElement('input');
            input.type = 'hidden';
            input.name = i;
            input.value = params[i];
            form.appendChild(input);
        }
    }

    form.submit();
}

, Таким образом, я могу реализовать URL, сокращающийся bookmarklet с простым

javascript:post_to_url('http://is.gd/create.php', {'URL': location.href});
15
ответ дан Joseph Holsten 15 August 2017 в 15:00
поделиться

Три опции здесь.

  1. Стандарт ответ JavaScript: Используйте платформу! Большинство платформ Ajax абстрагирует Вас простой способ сделать XMLHTTPRequest POST.

  2. Выполняют запрос XMLHTTPRequest самостоятельно, передавание сообщения в открытый метод вместо добирается. (Больше информации в Используя метод POST в XMLHTTPRequest (Ajax) .)

  3. Через JavaScript, динамично создайте форму, добавьте действие, добавьте свои исходные данные и отправьте это.

11
ответ дан Peter Mortensen 15 August 2017 в 15:00
поделиться

библиотека Prototype включает объект Хеш-таблицы, с ".toQueryString ()" метод, который позволяет, Вы для легкого превращения объекта/структуры JavaScript в строку запроса разрабатываете строку. Так как сообщение требует, чтобы "тело" запроса было отформатированной строкой строки запроса, это позволяет Вашему запросу Ajax работать правильно сообщением. Вот пример с помощью Прототипа:

$req = new Ajax.Request("http://foo.com/bar.php",{
    method: 'post',
    parameters: $H({
        name: 'Diodeus',
        question: 'JavaScript posts a request like a form request',
        ...
    }).toQueryString();
};
5
ответ дан Peter Mortensen 15 August 2017 в 15:00
поделиться

Вы могли пользоваться библиотекой как jQuery и $ .post метод .

1
ответ дан Peter Mortensen 15 August 2017 в 15:00
поделиться

Если Вы имеете Прототип установленный, можно ограничить код, чтобы генерировать и отправить скрытую форму как это:

 var form = new Element('form',
                        {method: 'post', action: 'http://example.com/'});
 form.insert(new Element('input',
                         {name: 'q', value: 'a', type: 'hidden'}));
 $(document.body).insert(form);
 form.submit();
24
ответ дан Jon Cage 15 August 2017 в 15:00
поделиться

Каждый MAC-адрес в мире должен быть уникальным, не присваивайте хосту MAC своей сетевой плате VM.

тайм-аут соединения А действительно предлагает проблему с брандмауэром. Однако обычно Вы ожидали бы, что VM имеет те же возможности как Ваша хост-система. То, что на самом деле делает интерфейс NAT, заменить IP-адресом VM (обычно 10.0.2.15) с IP Вашего хоста в сетевых пакетах, которые отосланы. Для внешнего мира кажется, что Ваш сетевой трафик VM происходит из Вашей хост-системы.

1
ответ дан Bert Van Vreckem 22 October 2019 в 14:52
поделиться

Ответ Ракеша Пая потрясающий, но у меня возникает проблема (в Safari ), когда я пытаюсь опубликовать форму с полем под названием submit . Например, post_to_url ("http://google.com/", {submit: "submit"}); . Я немного исправил функцию, чтобы обойти это столкновение с переменным пространством.

    function post_to_url(path, params, method) {
        method = method || "post";

        var form = document.createElement("form");

        //Move the submit function to another variable
        //so that it doesn't get overwritten.
        form._submit_function_ = form.submit;

        form.setAttribute("method", method);
        form.setAttribute("action", path);

        for(var key in params) {
            var hiddenField = document.createElement("input");
            hiddenField.setAttribute("type", "hidden");
            hiddenField.setAttribute("name", key);
            hiddenField.setAttribute("value", params[key]);

            form.appendChild(hiddenField);
        }

        document.body.appendChild(form);
        form._submit_function_(); //Call the renamed function.
    }
    post_to_url("http://google.com/", { submit: "submit" } ); //Works!
38
ответ дан 22 November 2019 в 20:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: