pc

Mattepuffo's logo
Usare Banca Sella con PHP

Usare Banca Sella con PHP

Banca Sella è uno dei servizi di pagamento online più usati in assoluto.

Ma come spesso accade la documentazione fa abbastanza schifo.

In generale abbiamo due modi per connettere il nostri sito a BS:

  • tramite apposite classi
  • tramite web service

Questo secondo modo è quello più nuovo e consigliato da Sella stessa.

E noi vedremo un esempio di come richiamare il WS da una nostra pagina PHP.

Prima di tutto dovete sottoscrivere un abbonamento e configurare l'ambiente.

E' disponibile anche un ambiente di test, che è uguale a quello reale solo che non scala i soldi dalla carta di credito.

Nel backoffice di Sella ci sono varie cose da impostare, ma due sono le più importanti:

  • la pagina da richiamare a transazione eseguita con successo (che è una pagina del nostro sito)
  • e le Custom Info (se non ricordo male però il servizio base non prevede queste info aggiuntive)

Le Custom Info sono informazioni aggiuntive che possono essere utili per il post pagamento (ad esempio info sull'utente o sul prodotto comprato).

Mattepuffo's logo
Parsing JSON con Python

Parsing JSON con Python

In un precedente articolo abbiamo visto come effettuare una richiesta HTTP con Python.

In quel caso abbiamo fatto una semplice richiesta, senza preoccuparci del tipo di dato che viene resituito dal server.

In molti casi, in verità, i dati sono strutturati; tipo in JSON o XML.

Noi vedremo come fare nel primo caso.

Il JSON che ci viene restituito ha due tag: nome e data.

Quindi dopo aver ricevuto la risposta vediamo anche come estrapolare i singoli valori.

Mattepuffo's logo
Inviare richieste POST in Android

Inviare richieste POST in Android

Lo scenario è questo; per vedere il contenuto è obbligatorio eseguire il login, e le credenziali sono salvate sun un database remoto.

A seconda della risposta del server ci sarà un un messaggio di errore oppure verremo mandati all'activiy principale della app.

Il layout è abbastanza semplice:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <EditText
        android:id="@+id/txt_user"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="30dp"
        android:ems="10"
        android:inputType="text"
        android:text="" >

        <requestFocus />
    </EditText>

    <EditText
        android:id="@+id/txt_pwd"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txt_user"
        android:layout_below="@+id/txt_user"
        android:layout_marginTop="24dp"
        android:ems="10"
        android:inputType="textPassword"
        android:text="" />

    <Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/txt_pwd"
        android:layout_below="@+id/txt_pwd"
        android:layout_marginTop="30dp"
        android:text="@string/btn_login" />

</RelativeLayout>

Si compone di un Button e due EditText.

Mattepuffo's logo
Eseguire comandi di sistema in C++

Eseguire comandi di sistema in C++

Eseguire comandi di sistema in C++ non è molto complicato.

Per farlo possiamo usare la funzione system().

Eccovi un semplice esempio su Linux:

#include <stdio.h>

#include <stdlib.h>

int main()

{

    printf("Eseguo comando ls");

    system("ls -l");

    exit(0);

}

Il problema di questa funzione è che anche se stampa il risultato del comando, comunque ritorna un int.

Quindi se ad esempio vogliamo stampare il risultato in un componente grafico tipo un QPlainTextEdit (che richiede quantomeno un oggetto string e non un int) come possiamo fare?

Ci sono diverse soluzioni; io ho usato la funzione popen().

Nel caso specifico ho una piccola classe con una funzione che esegue il comando nmap con i vari parametri.

Mattepuffo's logo
Installare programmi su IPCop

Installare programmi su IPCop

IPCop è una distribuzione Linux creata appositamente per svolgere funzioni da firewall.

Il problema è che non ha un package manager e dei repo classici, quindi se voglia installare dei programmi dobbiamo eseguire una procedura specifica.

Prima di tutto andate su uno di questi due link, a seconda della vostra versione:

Scaricate il programma che vi interessa e fate l'upload sul firewall.

Mattepuffo's logo
Inviare email in C#

Inviare email in C#

Piccola guida su come inviare email in C#, anche se la libreria è molto facile da usare e non richiede particolare studio.

Sul mio sito in Asp.NET Web Form ho messo una tabella da riempire; al click sul bottone mi viene spedita una mail.

La tabella è questa:

 













ControlToValidate="TxtNome" SetFocusOnError="True" Font-Bold="True">












ControlToValidate="TxtEmail" SetFocusOnError="True" Font-Bold="True">


ControlToValidate="TxtEmail" ValidationExpression="^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"
Font-Bold="True">












ControlToValidate="TxtMessaggio" Font-Bold="True">








 

E l'evento richiamato è questo:

 

protected void send(object sender, EventArgs e)
{
SendEmail sm = new SendEmail();
sm.send(TxtEmail.Text, TxtMessaggio.Text, TxtNome.Text);
TxtEmail.Text = "";
TxtNome.Text = "";
TxtMessaggio.Text = "";
LblMessage.Text = "Mail inviata";
}

 

Fin qui nulla di particolare.