Writing a simple greeting bot for MediaWiki/Introduction to MediaWiki scripting access

On this page you will get an introductory overview over how MediaWiki works and in which ways it can be accessed from scripts.

Fundamentals
MediaWiki is a PHP web application based on HTTP. Because of that, scripts communicate with MediaWiki in a series of requests and responses. To get the contents of a page, for example, the script sends a request to the server hosting MediaWiki (e.g. http://en.wikiversity.org/). The server then responds with the page content plus some additional statistical information. Each script action, such as loading or saving a page, requires a new set of requests and responses.

Exercise 1 - A simple C# request
Note: the following code example uses C# and the .NET Framework. The use of an Integrated development environment (IDE) is strongly recommended. For Windows users, Microsoft provides a free C# IDE called Visual C# Express. For Linux and Mac users, there is a free IDE called MonoDevelop available.

In this exercise, we will send a request to retrieve the contents of Wikiversity's main page in a file:

Let's take a closer look at what this code does. We
 * 1) We create an   object to hold the address of the page, in this case Main Page.
 * 2) We create a new HTTP request object by calling WebRequest's Create page with the address of the page we want. If you are not familiar with HTTP at all, I suggest taking a quick peek at HTTP.
 * 3) We then set the user agent and content type headers typical for HTTP requests. Although innocent looking, these are actually quite important: MediaWiki refuses any request which does not provide these two headers.
 * 4) By calling , the request is sent and a response retrieved.
 * 5) We read the content of the response and save it to a local file called "Main page.txt".

If you open the file, you will see the same content that would be shown if you went to Main Page with your browser and look at the source of that page (the menu option is commonly called View source oder Page source in graphic browsers).

Where to go next
Writing a simple greeting bot for MediaWiki/Signing in